/* =============================================================================
   app/globals.css  —  Next.js + Tailwind
   Font: DM Sans (body) + Playfair Display (headings) — same as PHP app.min.css
   ============================================================================= */



/* ─── CSS VARIABLES ─────────────────────────────────────────────────────────── */
:root {
  --brand:     #003b44;
  --brand2:    #004f5c;
  --accent:    #0ea5e9;
  --dark:      #0b1220;
  --slate:     #1e293b;
  --muted:     #64748b;
  --line:      rgba(2, 6, 23, .08);
  --sh-sm:     0 1px 4px rgba(2, 6, 23, .07);
  --sh-md:     0 4px 16px rgba(2, 6, 23, .10);
  --sh-lg:     0 8px 32px rgba(2, 6, 23, .14);
  --r:         12px;
  --r-sm:      8px;
  --r-lg:      16px;
  --container: 1240px;
  /* Fonts — set from layout.tsx via next/font variables */
  --font:      var(--font-sans, 'DM Sans', system-ui, -apple-system, sans-serif);
  --font-serif:var(--font-serif, 'Playfair Display', Georgia, serif);
}


/* ─── BASE ───────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font);
  font-size: 15px;
  font-weight: 400;
  color: var(--dark);
  background: #fff;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

/* Academic heading style — Playfair Display */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.25;
  color: var(--dark);
}

a { color: inherit; }

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 16px;
}

.mt-3 { margin-top: 0.875rem !important; }

/* ─── DB block spacing — nr-box mt-3, jh-sbox + spacing ─── */
.nr-box.mt-3, .jm-card.mt-3 { margin-top: 14px !important; }
.jh-sbox + .jh-sbox, .jh-sbox + .nr-box, .nr-box + .jh-sbox, .nr-box + .nr-box { margin-top: 14px; }
.mt-4 { margin-top: 1.75rem; }

/* ─── Bootstrap Icons support — DB blocks (jm-card, nr-box etc) use bi bi-* ─── */
.bi { display:inline-block; line-height:1; vertical-align:-.125em; }

/* ─── Body font override — DM Sans from layout CDN ─── */
body { font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif !important; }
h1,h2,h3,.serif,.jh-title,.jh-hero__title,.vf-title { font-family:'Spectral',Georgia,serif !important; }




/* =============================================================================
   SITE HEADER  —  components/SiteHeader.tsx
   ============================================================================= */

.hb { position:sticky;top:0;z-index:9999;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(2,6,23,.06);transition:box-shadow .25s; }
.hb.scrolled { box-shadow:0 4px 24px rgba(2,6,23,.12); }

/* Top ribbon */
.hb-ribbon { background:#0a1020;border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;max-height:40px;transition:max-height .3s ease,opacity .3s ease; }
.hb.scrolled .hb-ribbon { max-height:0;opacity:0;pointer-events:none; }
.hb-rin { max-width:var(--container);margin:0 auto;padding:7px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px; }
.hb-r-left { display:flex;align-items:center;gap:12px; }
.hb-social { display:flex;gap:8px; }
.hb-social a { color:rgba(255,255,255,.5);transition:color .15s;display:flex;align-items:center; }
.hb-social a:hover { color:#fff; }
.hb-r-note { font-size:.72rem;color:rgba(255,255,255,.9);font-family:var(--font); }
.hb-r-links { display:flex;gap:16px; }
.hb-r-link { font-size:.72rem;font-weight:600;color:#fff;text-decoration:none;transition:color .15s;font-family:var(--font); }
.hb-r-link:hover { color:rgba(255,255,255,.75); }

/* Main bar */
.hb-bar { background:#fff; }
.hb-bin { max-width:var(--container);margin:0 auto;padding:12px 16px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) auto;gap:12px;align-items:center; }
.hb-brand { display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0; }
.hb-logo { height:42px;width:auto;flex-shrink:0; }
.hb-btitle { font-size:.9rem;font-weight:800;color:var(--dark);line-height:1.15;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-serif); }
.hb-bsub { font-size:.7rem;font-weight:600;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font); }

/* Search */
.hb-search { display:flex;align-items:center;gap:8px;background:#f5f6f8;border:1px solid var(--line);border-radius:var(--r);padding:6px 8px;transition:border-color .2s,box-shadow .2s; }
.hb-search:focus-within { border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(0,59,68,.1); }
.hb-sicon { color:var(--muted);flex-shrink:0; }
.hb-sinput { flex:1;border:none;background:transparent;outline:none;font-size:.83rem;font-weight:500;color:var(--dark);min-width:0;font-family:var(--font); }
.hb-sinput::placeholder { color:#adb5bd;font-weight:400; }
.hb-sbtn { background:var(--brand);color:#fff;border:none;border-radius:10px;padding:5px 14px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s;flex-shrink:0;font-family:var(--font); }
.hb-sbtn:hover { opacity:.9; }

.hb-actions { display:flex;align-items:center;gap:8px;justify-content:flex-end; }
.hb-submit { display:none;align-items:center;gap:6px;background:var(--brand);color:#fff;font-weight:700;font-size:.8rem;padding:8px 16px;border-radius:var(--r);text-decoration:none;white-space:nowrap;transition:opacity .15s;font-family:var(--font); }
.hb-submit:hover { opacity:.9;color:#fff; }
@media(min-width:992px){ .hb-submit { display:inline-flex; } }

.hb-burger { width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:border-color .15s; }
.hb-burger:hover { border-color:var(--brand); }
.hb-burger span { display:block;height:2px;width:18px;background:var(--dark);border-radius:2px;transition:transform .25s,opacity .25s; }
.hb-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hb-burger.open span:nth-child(2) { opacity:0; }
.hb-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media(min-width:992px){ .hb-burger { display:none!important; } }

.hb-user { position:relative; }
.hb-ubtn { display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:var(--r);padding:6px 10px;cursor:pointer;text-decoration:none;color:var(--dark);font-weight:600;font-size:.8rem;transition:border-color .15s,background .15s;font-family:var(--font); }
.hb-ubtn:hover { border-color:var(--brand);background:#f9fafb; }
@media(max-width:991px){ .hb-ubtn { display:none!important; } }
.hb-uav { width:28px;height:28px;border-radius:8px;background:rgba(0,59,68,.1);color:var(--brand);font-weight:800;font-size:.72rem;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.hb-chev { color:var(--muted);font-size:.65rem;transition:transform .2s;display:inline-block; }
.hb-chev.open { transform:rotate(180deg); }
.hb-dd { position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 18px 55px rgba(2,6,23,.13);padding:8px;z-index:1000;animation:ddIn .15s ease; }
@keyframes ddIn { from{opacity:0;transform:translateY(-6px) scale(.98)} to{opacity:1;transform:none} }
.hb-dd-label { padding:6px 12px 4px;font-size:.67rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-family:var(--font); }
.hb-dd a,.hb-dd button { display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;width:100%;font-size:.82rem;font-weight:600;color:var(--dark);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s;font-family:var(--font); }
.hb-dd a:hover,.hb-dd button:hover { background:#f3f6fb; }
.hb-dd hr { margin:6px 0;border:none;border-top:1px solid var(--line); }
.hb-dd-danger { color:#dc2626!important; }
.hb-dd-danger:hover { background:#fef2f2!important; }
.hb-dd-ic { width:22px;height:22px;border-radius:7px;background:rgba(0,59,68,.08);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0; }

.hb-menu { background:#fff;border-top:1px solid rgba(2,6,23,.06);overflow:hidden;max-height:0;transition:max-height .28s cubic-bezier(.4,0,.2,1); }
.hb-menu.open { max-height:800px; }
@media(min-width:992px){ .hb-menu { max-height:none!important;overflow:visible; } }
@media(max-width:991px){ .hb-menu.open { border-bottom:2px solid var(--line);box-shadow:0 8px 24px rgba(2,6,23,.08); } }
.hb-nav { list-style:none;margin:0 auto;padding:0 16px;max-width:var(--container);display:flex;gap:0;align-items:center; }
.hb-nav > li { position:relative; }

/* Desktop */
@media(min-width:992px){ .hb-nav { flex-direction:row; } }

/* Mobile */
@media(max-width:991px){
  .hb-nav { flex-direction:column;align-items:stretch;padding:6px 8px; }
  .hb-nav > li { width:100%; }
  .hb-nav a { padding:10px 14px;border-radius:8px;font-size:.9rem;width:100%;display:flex;align-items:center; }
  .hb-nav a::after { display:none; }
  .hb-nav a:hover { background:#f3f6fb; }
}

.hb-nav a { display:block;padding:10px 14px;font-size:.82rem;font-weight:600;color:#334155;text-decoration:none;border-radius:6px;transition:color .15s,background .15s;position:relative;font-family:var(--font);letter-spacing:.01em; }
.hb-nav a::after { content:'';position:absolute;left:14px;right:14px;bottom:5px;height:2px;background:var(--brand);opacity:0;transform:scaleX(.4);transition:opacity .2s,transform .2s; }
.hb-nav a:hover { color:var(--brand);background:rgba(0,59,68,.05); }
.hb-nav a:hover::after,.hb-nav a.active::after { opacity:1;transform:scaleX(1); }
.hb-nav a.active { color:var(--brand); }

/* Trigger */
.hb-nav-dd-trigger { display:flex!important;align-items:center;gap:4px;cursor:pointer; }
.hb-nav-chev { font-size:.6rem;transition:transform .2s;opacity:.55;margin-left:2px; }
.hb-nav-chev.open { transform:rotate(180deg); }

/* ── Dropdown — Desktop ── */
.hb-nav-dd-wrap { position:relative; }

.hb-nav-dd-menu {
  list-style:none; margin:0; padding:6px;
  position:absolute; top:calc(100% + 2px); left:0;
  background:#fff;
  border:1px solid rgba(0,59,68,.1);
  border-top:2px solid var(--brand);
  border-radius:0 0 10px 10px;
  box-shadow:0 8px 28px rgba(2,6,23,.13);
  min-width:210px; z-index:9998;
  opacity:0; visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .16s,transform .16s,visibility .16s;
  pointer-events:none;
}
.hb-nav-dd-menu--open {
  opacity:1; visibility:visible;
  transform:translateY(0); pointer-events:auto;
}

/* Mobile dropdown */
@media(max-width:991px){
  .hb-nav-dd-menu {
    position:static; border:none; border-top:none;
    border-left:2px solid var(--brand); border-radius:0;
    box-shadow:none; background:#f8fafc;
    margin:0 0 4px 20px; padding:4px 0;
    opacity:1; visibility:visible; transform:none;
    pointer-events:auto; display:none;
  }
  .hb-nav-dd-menu--open { display:block; }
}

.hb-nav-dd-link {
  display:block; padding:8px 14px;
  font-size:.8rem; font-weight:500; color:#334155;
  text-decoration:none; border-radius:6px;
  transition:background .12s,color .12s;
  white-space:nowrap;
}
.hb-nav-dd-link::before { content:'—';margin-right:7px;font-size:.6rem;color:var(--brand);opacity:.45; }
.hb-nav-dd-link:hover { background:rgba(0,59,68,.06);color:var(--brand); }

.hb-mob-search { padding:8px 16px 10px;max-width:var(--container);margin:0 auto;border-top:1px solid rgba(2,6,23,.06); }
@media(min-width:992px){ .hb-mob-search,.hb-mob-acc { display:none; } }
.hb-mob-search form { display:flex;gap:6px;background:#f5f6f8;border-radius:12px;padding:6px 10px;border:1px solid var(--line); }
.hb-mob-search input { flex:1;border:none;background:transparent;outline:none;font-size:.83rem;color:var(--dark);font-family:var(--font); }
.hb-mob-search button { background:var(--brand);color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:var(--font); }
.hb-mob-acc { border-top:1px solid rgba(2,6,23,.06);max-width:var(--container);margin:0 auto;padding:0 16px 10px; }
.hb-mob-toggle { display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:10px 0;font-size:.85rem;font-weight:600;color:var(--dark);cursor:pointer;font-family:var(--font); }
.hb-mob-av { width:26px;height:26px;border-radius:8px;background:rgba(0,59,68,.1);color:var(--brand);font-weight:900;font-size:.7rem;display:flex;align-items:center;justify-content:center; }
.hb-mob-link { display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;font-size:.83rem;font-weight:600;color:var(--dark);text-decoration:none;background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:background .12s;font-family:var(--font); }
.hb-mob-link:hover { background:#f3f6fb; }
.hb-mob-submit { background:var(--brand)!important;color:#fff!important;border-radius:10px;justify-content:center;margin-top:4px; }
.hb-mob-submit:hover { opacity:.9; }
.hb-impersonate { background:#dc2626;color:#fff;text-align:center;font-size:.78rem;font-weight:700;padding:5px 16px; }
.hb-impersonate button { background:rgba(255,255,255,.2);color:#fff;border:none;border-radius:6px;padding:2px 10px;margin-left:10px;font-size:.75rem;font-weight:700;cursor:pointer;font-family:var(--font); }

@media(max-width:991px){ .hb-bin{grid-template-columns:1fr auto;padding:10px 14px;} .hb-search{display:none;} }
@media(max-width:480px){ .hb-btitle{font-size:.8rem;} }


/* =============================================================================
   SITE FOOTER  —  components/SiteFooter.tsx
   Exact match with PHP footer + screenshots
   ============================================================================= */

.vf-footer {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #0f172a 100%);
  color: #cbd5e1;
  margin-top: auto;
  font-family: var(--font);
}

/* Animated rainbow top line */
.vf-topline {
  height: 3px;
  background: linear-gradient(90deg, #1d4ed8, #0ea5e9, #6366f1, #1d4ed8);
  background-size: 200% 100%;
  animation: vfLine 3s linear infinite;
}
@keyframes vfLine { 0%{background-position:0% 0} 100%{background-position:200% 0} }

/* Inner padding */
.vf-inner { padding: 36px 16px 0; }

/* 4-column grid */
.vf-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.2fr;
  gap: 32px;
  padding-bottom: 28px;
}
.vf-col { min-width: 0; }

/* Brand column */
.vf-brand-row { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
.vf-mark {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  background: rgba(29,78,216,.3); border: 1px solid rgba(29,78,216,.4);
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.vf-title {
  font-size: .95rem; font-weight: 800; color: #f1f5f9;
  line-height: 1.3; margin: 0; font-family: var(--font-serif);
}
.vf-title-issn {
  display: block; font-size: .78rem; font-weight: 600;
  color: rgba(255,255,255,.65); margin-top: 2px; font-family: var(--font);
}
.vf-sub { font-size: .8rem; color: #94a3b8; line-height: 1.6; margin: 0; }

/* Badges */
.vf-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.vf-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px; padding: 4px 10px; font-size: .7rem;
  color: #e2e8f0; font-weight: 600; letter-spacing: .01em;
}

/* CTA buttons */
.vf-cta { display: flex; flex-wrap: wrap; gap: 8px; }
.vf-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 8px;
  font-size: .8rem; font-weight: 700; text-decoration: none;
  transition: all .18s; font-family: var(--font);
}
.vf-btn--solid { background: #1d4ed8; color: #fff; border: 1px solid #1d4ed8; }
.vf-btn--solid:hover { background: #1e40af; color: #fff; }
.vf-btn--ghost { background: transparent; color: #e2e8f0; border: 1px solid rgba(255,255,255,.2); }
.vf-btn--ghost:hover { background: rgba(255,255,255,.08); color: #fff; }

/* Column heading */
.vf-colhead {
  font-size: .68rem; font-weight: 800; color: #94a3b8;
  text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 14px; font-family: var(--font);
}

/* Link list */
.vf-linklist { list-style: none; padding: 0; margin: 0; }
.vf-linklist li { margin-bottom: 9px; }
.vf-link {
  color: #94a3b8; text-decoration: none; font-size: .82rem;
  transition: color .18s; font-weight: 400;
}
.vf-link:hover { color: #f1f5f9; }

/* Contact column */
.vf-contact { font-size: .82rem; color: #94a3b8; }
.vf-contact-row {
  display: flex; align-items: flex-start; gap: 8px;
  margin-bottom: 9px; line-height: 1.45;
}
.vf-contact-icon { flex-shrink: 0; opacity: .7; font-size: .85rem; margin-top: 1px; }
.vf-copy { font-size: .74rem; color: rgba(255,255,255,.45); margin-top: 12px; margin-bottom: 12px; }

/* Social icons */
.vf-social { display: flex; gap: 8px; }
.vf-social a {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  color: #94a3b8; text-decoration: none; transition: all .18s;
}
.vf-social a:hover { background: #1d4ed8; color: #fff; border-color: #1d4ed8; }

/* Bottom bar */
.vf-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 14px 0 18px;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 8px; font-size: .74rem; color: #475569;
}
.vf-bottom a { color: #475569; text-decoration: none; transition: color .15s; }
.vf-bottom a:hover { color: #94a3b8; }
.vf-bottom-links { display: flex; gap: 16px; }

/* Cookie banner */
.cookie-banner {
  display: none; position: fixed; bottom: 0; left: 0; right: 0;
  background: #1e293b; color: #e2e8f0; z-index: 9999;
  border-top: 2px solid #1d4ed8; padding: 12px 20px;
}
.cookie-banner.show { display: block; }
.cookie-wrap {
  max-width: 900px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; font-size: .82rem;
}
.cookie-wrap a { color: #93c5fd; text-decoration: underline; }
.cookie-wrap div:last-child { display: flex; gap: 8px; }
.cookie-wrap button { padding: 5px 14px; border-radius: 6px; border: none; font-size: .78rem; font-weight: 700; cursor: pointer; font-family: var(--font); }
#acceptCookies { background: #1d4ed8; color: #fff; }
#acceptCookies:hover { background: #1e40af; }
#rejectCookies { background: rgba(255,255,255,.1); color: #e2e8f0; }
#rejectCookies:hover { background: rgba(255,255,255,.15); }

/* Footer responsive */
@media (max-width: 1024px) {
  .vf-grid { grid-template-columns: 1.6fr 1fr 1fr; gap: 28px; }
  .vf-col--brand { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .vf-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .vf-col--brand { grid-column: 1 / -1; }
  .vf-col--contact {
    grid-column: 1 / -1;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    padding: 16px 18px;
  }
  .vf-inner { padding: 28px 14px 0; }
  .vf-grid { padding-bottom: 20px; }
}
@media (max-width: 480px) {
  .vf-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .vf-col--brand { grid-column: 1 / -1; }
  .vf-col--contact { grid-column: 1 / -1; }
  .vf-btn { padding: 7px 13px; font-size: .77rem; }
  .vf-bottom { font-size: .7rem; }
}


/* =============================================================================
   JOURNAL HOME  —  app/index.php/[journal]/JournalHomeClient.tsx
   ============================================================================= */

/* Masthead */
.jh-top { background:linear-gradient(175deg,#0b1f2a 0%,#003b44 100%);padding:36px 0 32px;position:relative;overflow:hidden; }
.jh-top::before { content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 50%,rgba(14,165,233,.08) 0%,transparent 60%); }
.jh-mast { display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;position:relative;z-index:1; }
.jh-mast__left { color:#fff; }
.jh-kicker { font-size:.68rem;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.55);text-transform:uppercase;margin-bottom:10px;font-family:var(--font); }
.jh-title { font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;line-height:1.15;color:#fff;margin:0 0 14px;letter-spacing:-.02em;font-family:var(--font-serif); }
.jh-desc { font-size:.88rem;color:rgba(255,255,255,.72);line-height:1.65;margin-bottom:22px;max-width:540px;font-family:var(--font); }
.jh-mast__acts { display:flex;gap:10px;flex-wrap:wrap; }
.jh-mbtn { display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:.83rem;font-weight:700;text-decoration:none;transition:all .2s;font-family:var(--font); }
.jh-mbtn--solid { background:#0ea5e9;color:#fff;box-shadow:0 2px 12px rgba(14,165,233,.35); }
.jh-mbtn--solid:hover { background:#0284c7;color:#fff; }
.jh-mbtn--ghost { background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25); }
.jh-mbtn--ghost:hover { background:rgba(255,255,255,.2);color:#fff; }

/* DB custom block: journal-metrics */
.jm-card { background:#fff;border-radius:var(--r);box-shadow:var(--sh-lg);overflow:hidden;border:1px solid var(--line); }
.jm-head { background:var(--brand);padding:12px 16px;display:flex;align-items:center;gap:10px; }
.jm-head-left { display:flex;align-items:center;gap:10px;flex:1; }
.jm-head-icon { width:32px;height:32px;background:rgba(255,255,255,.15);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem; }
.jm-head-title { font-size:.85rem;font-weight:800;color:#fff;font-family:var(--font); }
.jm-head-sub { font-size:.68rem;color:rgba(255,255,255,.6);font-family:var(--font); }
.jm-head-badge { background:#0ea5e9;color:#fff;font-size:.65rem;font-weight:800;padding:3px 10px;border-radius:999px;font-family:var(--font); }
.jm-list { padding:4px 0; }
.jm-row { display:flex;align-items:center;gap:8px;padding:9px 16px;border-bottom:1px solid var(--line);transition:background .12s; }
.jm-row:last-child { border-bottom:none; }
.jm-row:hover { background:#f8fafc; }
.jm-row-label { flex:1;font-size:.78rem;color:var(--dark);font-weight:600;display:flex;align-items:center;gap:6px;font-family:var(--font); }
.jm-row-icon { color:var(--muted);font-size:.78rem; }
.jm-row-value { font-size:.82rem;font-weight:800;color:var(--dark);font-family:var(--font); }
.jm-val-big { color:#0ea5e9;font-size:.95rem; }
.jm-val-badge { background:#f1f5f9;padding:2px 10px;border-radius:6px;font-size:.78rem;font-weight:800;min-width:28px;text-align:center; }
.jm-row--highlight { background:rgba(14,165,233,.04); }
.jm-row--accent { background:rgba(14,165,233,.06); }
.jm-footer { padding:8px 16px;background:#f8fafc;border-top:1px solid var(--line);font-size:.68rem;color:var(--muted);font-family:var(--font); }

/* DB custom block: call-for-paper — teal brand header, light body */
.nr-cfp-mini { background:#fff;border-radius:var(--r);border:1px solid rgba(0,79,92,.18);box-shadow:0 2px 12px rgba(0,59,68,.10);overflow:hidden;margin-bottom:16px; }
.nr-cfp-mini__head {
  padding:12px 18px 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.nr-cfp-mini__htitle { font-size:.9rem;font-weight:800;font-family:var(--font);display:flex;align-items:center;gap:8px;color:var(--dark); }
.nr-cfp-mini__htitle svg { color:var(--brand); }
.nr-cfp-mini__hsub { font-size:.75rem;color:var(--muted);font-family:var(--font);margin-top:3px; }
.nr-cfp-mini__hright { font-size:.68rem;color:var(--muted);font-family:var(--font);white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:3px 10px;border:1px solid var(--line); }
.nr-cfp-mini__body { padding:14px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff; }
.nr-cfp-mini__text { font-size:.88rem;font-weight:600;color:var(--dark);flex:1;font-family:var(--font); }
.nr-cfp-mini__btn {
  background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border-radius:999px;
  padding:9px 22px;font-size:.82rem;font-weight:700;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 2px 8px rgba(22,163,74,.3);
  transition:all .15s;font-family:var(--font);
  display:inline-flex;align-items:center;gap:6px;
}
.nr-cfp-mini__btn:hover { background:linear-gradient(135deg,#15803d,#166534);color:#fff;transform:translateY(-1px); }

/* DB custom block: hero / impact-factor — image exact: teal header */
.jh-sbox.jh-sbox--impact { padding:0;overflow:hidden; }
.jh-sbox__head--impact {
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:12px 16px;
  display:flex;align-items:center;gap:10px;
  margin-bottom:0;
}
.jh-sbox__head--impact .jh-sbox__title { color:var(--dark); }
.jh-sbox__head--impact .jh-sbox__sub { color:var(--muted); }
.jh-sbox__head--impact .jh-sbox__icon { 
  width:30px;height:30px;background:rgba(0,59,68,.08);border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:var(--brand);flex-shrink:0;
}
.nr-impact { padding:14px 16px; }
.nr-impact__value {
  font-size:1rem;font-weight:800;color:var(--brand);
  display:flex;align-items:center;gap:8px;margin-bottom:6px;font-family:var(--font);
}
.nr-impact__value a { color:var(--accent);text-decoration:none;font-size:1.05rem; }
.nr-impact__value a:hover { text-decoration:underline; }
.nr-impact__note { font-size:.76rem;color:var(--muted);font-family:var(--font); }

/* DB custom block: indexing — Image 4 exact: icon box + name + external link */
.nr-linklist { list-style:none;padding:6px 0;margin:0;display:grid;gap:0; }
.nr-linklist li { border-bottom:1px solid var(--line); }
.nr-linklist li:last-child { border-bottom:none; }
.nr-linklist li a {
  display:flex;align-items:center;gap:14px;
  padding:12px 18px;
  background:#fff;text-decoration:none;
  color:var(--dark);font-weight:600;font-size:.88rem;
  transition:background .12s;font-family:var(--font);
}
.nr-linklist li a:hover { background:#f8fafc; }
.nr-licon {
  width:38px;height:38px;
  background:#f1f5f9;
  border-radius:10px;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--brand);flex-shrink:0;font-size:.88rem;font-weight:800;
}
.nr-ltxt { flex:1;font-size:.88rem;font-weight:600; }
.nr-lext { color:#94a3b8;font-size:.8rem;flex-shrink:0;display:flex;align-items:center; }

/* Shared nr-box — white header with dark text (Indexing, etc) */
.nr-box { background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm); }
.nr-box__head {
  background:#fff;color:var(--dark);
  padding:12px 18px;
  display:flex;align-items:center;gap:10px;
  border-bottom:1px solid var(--line);
}
.nr-box__title { font-size:.9rem;font-weight:800;font-family:var(--font);display:flex;align-items:center;gap:8px;flex:1;color:var(--dark); }
.nr-box__sub { font-size:.72rem;color:var(--muted);font-family:var(--font);margin-top:2px; }

/* Section header */
.jh-sechead { display:flex;align-items:center;gap:10px;margin-bottom:14px; }
.jh-sechead__hint { font-size:.72rem;color:#94a3b8;white-space:nowrap;margin-left:auto; }
.jh-hlabel { font-size:.68rem;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;font-family:var(--font); }
.jh-hrule { flex:1;height:1px;background:#e2e8f0; }

/* Hero carousel wrapper — white card */
.jh-hero-wrap { background:#fff;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--sh-sm);padding:16px; }
/* Hero carousel */
.jh-hero { position:relative;border-radius:14px;overflow:hidden;height:360px;background:var(--slate);box-shadow:var(--sh-md); }
.jh-hero__bg { position:absolute;inset:0;background-size:cover;background-position:center; }
.jh-hero__ov { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.25) 55%,transparent 100%); }
.jh-hero__body { position:absolute;bottom:0;left:0;right:0;padding:20px 24px 16px;color:#fff;z-index:2; }
.jh-hero__top { margin-bottom:8px; }
/* Section chip — PHP image mein light pastel, colored text */
.jh-chip {
  display:inline-flex;align-items:center;
  background:rgba(0,59,68,.08);color:var(--brand);
  border:1px solid rgba(0,59,68,.15);
  border-radius:999px;padding:3px 10px;
  font-size:.68rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;font-family:var(--font);
}
/* Feed rows mein chip */
.jh-row .jh-chip {
  background:rgba(0,59,68,.06);color:var(--brand);
  border-color:rgba(0,59,68,.12);
}
/* Hero ke andar chip white overlay */
.jh-hero__top .jh-chip {
  background:rgba(255,255,255,.18);
  color:#fff;border-color:rgba(255,255,255,.35);
}
.jh-hero__title { font-size:1.12rem;font-weight:700;line-height:1.35;margin-bottom:8px;font-family:var(--font-serif); }
.jh-hero__title a { color:#fff;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.jh-hero__title a:hover { color:#bae6fd; }
.jh-hero__meta { font-size:.74rem;color:rgba(255,255,255,.75);margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-family:var(--font); }
.jh-hero__meta a { color:#7dd3fc; }
.jh-sep { color:rgba(255,255,255,.4); }
.jh-hero__acts { display:flex;gap:8px;margin-bottom:10px; }
.jh-pill { display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 12px;font-size:.76rem;font-weight:700;text-decoration:none;transition:all .15s;font-family:var(--font); }
.jh-pill--full { background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35); }
.jh-pill--full:hover { background:rgba(255,255,255,.3);color:#fff; }
.jh-pill--pdf { background:rgba(220,38,38,.75);color:#fff;border:1px solid rgba(220,38,38,.5); }
.jh-pill--pdf:hover { background:#dc2626;color:#fff; }
.jh-hero__pb { height:2px;background:rgba(255,255,255,.18);border-radius:1px;margin-bottom:8px;overflow:hidden; }
.jh-hero__pbi { display:block;height:100%;background:#0ea5e9;transition:width .1s linear; }
.jh-hero__date { font-size:.7rem;color:rgba(255,255,255,.55);font-family:var(--font);display:inline-flex;align-items:center;gap:4px; }
.jh-dots { position:absolute;bottom:10px;right:14px;z-index:10;display:flex;gap:5px; }
.jh-dot { width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);border:none;cursor:pointer;padding:0;transition:all .2s; }
.jh-dot.active { background:#fff;width:20px;border-radius:4px; }
.jh-arr { position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:1.3rem;cursor:pointer;z-index:10;transition:background .15s;display:flex;align-items:center;justify-content:center; }
.jh-arr:hover { background:rgba(255,255,255,.28); }
.jh-arr--l { left:10px; }
.jh-arr--r { right:10px; }
.jh-noart { padding:32px;text-align:center;color:var(--muted);font-family:var(--font); }

/* Sechead with top margin variant */
.jh-sechead--mt { margin-top:2rem; }

/* Load More button */
.jh-feed__more { padding:16px 0 4px;text-align:center; }
.jh-feed__morebtn {
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;border:1px solid #d1d5db;
  border-radius:8px;padding:9px 22px;
  font-size:.82rem;font-weight:700;color:var(--dark);
  cursor:pointer;transition:all .15s;font-family:var(--font);
}
.jh-feed__morebtn:hover { border-color:var(--brand);color:var(--brand);background:#f0fafb; }

/* Latest feed */
.jh-feed { margin-top:1.5rem; background:#fff;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--sh-sm);padding:16px; }
.jh-feed__tools {
  display:flex;gap:12px;flex-wrap:wrap;
  margin-bottom:16px;align-items:flex-end;
  background:#f8fafc;border:1px solid var(--line);
  border-radius:10px;padding:10px 14px;
}
.jh-feed__fgroup { display:flex;flex-direction:column;gap:3px; }
.jh-lbl { font-size:.65rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-family:var(--font); }
.jh-select {
  font-size:.82rem;padding:6px 10px;
  border:1px solid #d1d5db;border-radius:7px;
  background:#fff;color:var(--dark);outline:none;
  font-family:var(--font);min-width:140px;cursor:pointer;
}
.jh-select:focus { border-color:var(--brand);box-shadow:0 0 0 2px rgba(0,59,68,.08); }
.jh-input {
  font-size:.82rem;padding:6px 10px;
  border:1px solid #d1d5db;border-radius:7px;
  background:#fff;color:var(--dark);outline:none;
  font-family:var(--font);min-width:200px;
}
.jh-input:focus { border-color:var(--brand);box-shadow:0 0 0 2px rgba(0,59,68,.08); }
.jh-feed__list { display:flex;flex-direction:column; }
.jh-feed__empty { padding:20px;text-align:center;color:var(--muted);background:#f8fafc;border-radius:10px;font-size:.84rem;font-family:var(--font); }

/* Latest feed rows — Image 1 exact */
.jh-row { display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);transition:background .12s; }
.jh-row:last-child { border-bottom:none; }
.jh-row:hover { background:#fafbfc;margin:0 -10px;padding:16px 10px;border-radius:10px; }
.jh-row__tlink { flex-shrink:0; }
.jh-row__thumb { width:110px;height:90px;border-radius:10px;background:var(--slate);object-fit:cover; }
.jh-row__body { flex:1;min-width:0; }
.jh-row__top { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap; }
.jh-date {
  font-size:.73rem;color:var(--muted);font-family:var(--font);
  display:inline-flex;align-items:center;gap:5px;
}
.jh-views { display:inline-flex;align-items:center;gap:4px;font-size:.73rem;color:var(--muted); }
.jh-row__title { margin-bottom:4px; }
.jh-row__title a {
  font-size:.95rem;font-weight:700;color:var(--dark);
  text-decoration:none;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-family:var(--font);
}
.jh-row__title a:hover { color:var(--brand); }
/* Image 1 exact: people icon · author · DOI · eye · views */
.jh-row__meta {
  font-size:.76rem;color:var(--muted);margin:4px 0 8px;
  display:flex;flex-wrap:wrap;gap:0;align-items:center;font-family:var(--font);
}
.jh-row__meta > span { display:inline-flex;align-items:center;gap:3px; }
.jh-meta-sep { margin:0 5px;color:#d1d5db;font-size:.65rem; }
.jh-row__acts { display:flex;gap:6px;flex-wrap:wrap; }
/* Image 1 exact pills */
.jh-pill-sm {
  display:inline-flex;align-items:center;gap:4px;
  border-radius:6px;padding:5px 14px;
  font-size:.76rem;font-weight:600;text-decoration:none;
  transition:all .12s;font-family:var(--font);
  border:1px solid #d1d5db;background:#fff;color:var(--dark);
}
.jh-pill-sm:hover { background:#f3f4f6;border-color:#9ca3af; }
.jh-pill-sm--pdf { background:#fff;color:#dc2626;border-color:#fca5a5; }
.jh-pill-sm--pdf:hover { background:#fef2f2;border-color:#f87171; }

/* Most Cited */
.jh-mcited__list { border:1px solid var(--line);border-radius:var(--r);overflow:hidden; }
.jh-mcited__row { display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);transition:background .12s; }
.jh-mcited__row:last-child { border-bottom:none; }
.jh-mcited__row:hover { background:#f8fafc; }
.jh-mcited__info { flex:1;min-width:0; }
.jh-mcited__title { font-size:.82rem;font-weight:500;color:var(--dark);text-decoration:none;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font); }
.jh-mcited__title:hover { color:var(--brand); }
.jh-mcited__doi { font-size:.68rem;color:var(--muted);margin-top:2px;font-family:var(--font); }
.jh-mcited__n { font-size:.82rem;font-weight:800;color:var(--brand);background:rgba(0,59,68,.07);padding:2px 9px;border-radius:6px;flex-shrink:0;min-width:24px;text-align:center;font-family:var(--font); }
.jh-mcited__foot { padding:10px 14px;border-top:1px solid var(--line); }
.jh-mcited__all { font-size:.78rem;font-weight:700;color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;gap:5px;font-family:var(--font); }
.jh-mcited__all:hover { text-decoration:underline; }

/* Sidebar boxes */
/* jh-sbox — PHP exact: white card, plain title/sub, no dark header */
.jh-sbox { background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:0 1px 6px rgba(2,6,23,.06); }
.jh-sbox+.jh-sbox,.jh-sbox+.nr-box,.nr-box+.jh-sbox,.nr-box+.nr-box { margin-top:14px; }
.jh-sbox__head { margin-bottom:10px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px; }
.jh-sbox__title { font-weight:800;color:var(--dark);font-size:.95rem;font-family:var(--font); }
.jh-sbox__sub { color:var(--muted);font-size:.75rem;font-family:var(--font); }
.jh-sbox__empty { color:var(--muted);font-size:.84rem;font-family:var(--font);padding:4px 0; }

/* Trending list */
/* Trending list — PHP nr-trending exact */
.jh-trending { list-style:none;padding:0;margin:0;display:grid;gap:10px; }
.jh-tr__item { display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px;border:1px dashed var(--line);border-radius:14px;align-items:start; }
.jh-tr__rank { width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(34,197,94,.16));display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--dark);font-size:.85rem;font-family:var(--font);flex-shrink:0; }
.jh-tr__r1,.jh-tr__r2,.jh-tr__r3,.jh-tr__r4 { background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(34,197,94,.16)); }
.jh-tr__main { min-width:0; }
.jh-tr__title { font-weight:800;color:var(--dark);text-decoration:none;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font);font-size:.82rem; }
.jh-tr__title:hover { text-decoration:underline; }
.jh-tr__meta { margin-top:4px;font-size:.72rem;color:var(--muted);font-family:var(--font); }

/* Editorial EIC */
/* EIC — PHP nr-eic exact: gradient border card */
.jh-eic { border:1px solid var(--line);border-radius:16px;padding:12px;background:linear-gradient(135deg,rgba(0,0,0,.02),rgba(14,165,233,.06));margin-top:2px; }
.jh-eic__name { font-weight:800;color:var(--dark);font-size:.95rem;font-family:var(--font); }
.jh-eic__aff { color:var(--muted);font-size:.78rem;margin-top:3px;line-height:1.5;font-family:var(--font); }
.jh-eic__note { margin-top:10px;font-size:.75rem;color:var(--muted);font-family:var(--font); }

/* Quick Links */
.jh-qlinks { list-style:none;padding:4px 0;margin:0; }
.jh-qlinks li a { display:flex;align-items:center;gap:9px;padding:8px 16px;font-size:.8rem;font-weight:500;color:var(--dark);text-decoration:none;transition:background .12s;font-family:var(--font); }
.jh-qlinks li a:hover { background:#f1f5f9; }
.jh-ql__icon { display:inline-flex;align-items:center;color:var(--brand);flex-shrink:0; }

/* Page layout */
.jh-main { padding:28px 0; background:#f4f8f9; }
.jh-grid { display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start; }
.jh-col { min-width:0; }

/* Sidebar spacing — all boxes ke beech 16px gap */
.jh-sbox + .jh-sbox,
.jh-sbox + .nr-box,
.nr-box + .jh-sbox,
.nr-box + .nr-box { margin-top:16px; }
/* Trending, Editorial, Indexing wrap spacing */
.jh-trending-wrap { margin-top:16px; }
.jh-editorial-wrap { margin-top:16px; }

/* Issue strip */
.jh-strip { background:linear-gradient(135deg,var(--slate) 0%,#0f172a 100%);padding:28px 0;margin-top:8px; }
.jh-strip__inner { display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap; }
.jh-strip__left { color:#e2e8f0; }
.jh-strip__kicker { font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;margin-bottom:4px;font-family:var(--font); }
.jh-strip__title { font-size:1.2rem;font-weight:700;margin-bottom:4px;font-family:var(--font-serif); }
.jh-strip__desc { font-size:.8rem;color:#94a3b8;font-family:var(--font); }
.jh-strip__right { display:flex;gap:8px;flex-wrap:wrap; }
.jh-sbtn { display:inline-flex;align-items:center;gap:5px;padding:8px 18px;border-radius:8px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .18s;font-family:var(--font); }
.jh-sbtn--solid { background:#0ea5e9;color:#fff; }
.jh-sbtn--solid:hover { background:#0284c7;color:#fff; }
.jh-sbtn--ghost { background:rgba(255,255,255,.1);color:#e2e8f0;border:1px solid rgba(255,255,255,.2); }
.jh-sbtn--ghost:hover { background:rgba(255,255,255,.18);color:#fff; }

/* Responsive */
@media(max-width:991px) {
  .jh-mast { grid-template-columns:1fr; }
  .jh-mast__right { display:none; }
  .jh-grid { grid-template-columns:1fr; }
  /* Sidebar column mobile pe show hoga — sirf kuch boxes hide karein */
  .jh-col:last-child { display:block !important; }
  /* Mobile pe sidebar ka sirf indexing aur impact factor show karo, baaki hide */
  .jh-col:last-child .jh-sbox,
  .jh-col:last-child .nr-box { display:block; }
  /* Trending aur editorial mobile pe hide */
  .jh-col:last-child .jh-trending-wrap,
  .jh-col:last-child .jh-editorial-wrap { display:none; }
  .jh-hero { height:280px; }
  .jh-title { font-size:1.5rem; }
  /* Mobile pe sidebar full width */
  .jh-col:last-child { margin-top:8px; }
}
@media(max-width:600px) {
  .jh-strip__inner { flex-direction:column;align-items:flex-start; }
  .jh-row__thumb { width:64px;height:56px; }
}
/* =============================================================================
   JOURNAL PAGE (page.php replacement) — Academic style
   Classes: .jp-* prefix
   ============================================================================= */

/* Layout */
.jp-outer        { background:#f5f6f8;min-height:60vh;padding:36px 0 60px; }
.jp-container    { max-width:1100px;margin:0 auto;padding:0 20px; }
.jp-layout       { display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start; }
.jp-layout--notoc{ display:block; }

/* Breadcrumb */
.jp-breadcrumb   { font-size:.75rem;color:var(--muted);margin-bottom:20px;display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.jp-breadcrumb a { color:var(--brand);text-decoration:none;font-weight:500; }
.jp-breadcrumb a:hover{ text-decoration:underline; }
.jp-breadcrumb__sep{ color:#cbd5e1; }

/* Left TOC panel */
.jp-toc          { position:sticky;top:80px;font-size:.8rem; }
.jp-toc__box     { background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm); }
.jp-toc__head    { background:var(--brand);color:#fff;padding:10px 14px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.jp-toc__list    { padding:8px 0;list-style:none;margin:0; }
.jp-toc__item    { border:none;margin:0;padding:0; }
.jp-toc__link    { display:block;padding:6px 14px;color:#334155;text-decoration:none;line-height:1.45;border-left:3px solid transparent;transition:all .15s;font-size:.78rem; }
.jp-toc__link:hover        { color:var(--brand);background:#f0f9ff;border-left-color:var(--brand); }
.jp-toc__link.jp-toc--h3  { padding-left:24px;color:var(--muted);font-size:.73rem; }
.jp-toc__link.jp-toc--h3:hover{ color:var(--brand);background:#f0f9ff;border-left-color:var(--brand); }
.jp-toc__divider { height:1px;background:var(--line);margin:4px 0; }

/* Main article card */
.jp-card         { background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px 40px;box-shadow:var(--sh-sm); }

/* Page title area */
.jp-title-area   { border-bottom:2px solid var(--line);margin-bottom:28px;padding-bottom:20px; }
.jp-kicker       { font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:rgba(0,59,68,.08);display:inline-block;padding:3px 10px;border-radius:4px;margin-bottom:10px; }
.jp-title        { font-family:var(--font-serif);font-size:1.75rem;font-weight:700;color:#0f172a;line-height:1.3;margin:0 0 0; }

/* Content typography — academic */
.jp-body         { font-size:.97rem;line-height:1.85;color:#1e293b;font-family:var(--font); }
.jp-body h2      { font-family:var(--font-serif);font-size:1.18rem;font-weight:700;color:var(--brand);margin:32px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line); }
.jp-body h3      { font-family:var(--font);font-size:1.02rem;font-weight:700;color:#0f172a;margin:22px 0 8px; }
.jp-body h4      { font-family:var(--font);font-size:.95rem;font-weight:700;color:#334155;margin:16px 0 6px; }
.jp-body p       { margin:0 0 16px; }
.jp-body a       { color:var(--brand);text-decoration:underline;text-decoration-color:rgba(0,59,68,.35); }
.jp-body a:hover { text-decoration-color:var(--brand); }
.jp-body ul,.jp-body ol { margin:0 0 16px;padding-left:24px; }
.jp-body li      { margin-bottom:7px;line-height:1.7; }
.jp-body strong  { font-weight:700;color:#0f172a; }
.jp-body em      { font-style:italic; }
.jp-body blockquote{
  border-left:4px solid var(--brand);
  background:rgba(0,59,68,.04);
  margin:20px 0;padding:14px 20px;
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-style:italic;color:#374151;font-size:.95rem;
}
.jp-body blockquote p:last-child{ margin:0; }

/* Tables */
.jp-body table   { width:100%;border-collapse:collapse;margin:20px 0;font-size:.875rem;box-shadow:var(--sh-sm);border-radius:var(--r-sm);overflow:hidden; }
.jp-body thead th{ background:var(--brand);color:#fff;padding:10px 14px;text-align:left;font-weight:700;font-size:.82rem;letter-spacing:.03em; }
.jp-body tbody tr:nth-child(even){ background:#f8fafc; }
.jp-body tbody tr:hover           { background:#f0f9ff; }
.jp-body td      { padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top; }
.jp-body tbody tr:last-child td   { border-bottom:none; }

/* Images */
.jp-body img     { max-width:100%;height:auto;border-radius:var(--r-sm);box-shadow:var(--sh-sm);margin:10px 0; }
.jp-body figure  { margin:20px 0;text-align:center; }
.jp-body figcaption{ font-size:.78rem;color:var(--muted);margin-top:6px;font-style:italic; }

/* Code */
.jp-body pre     { background:#1e293b;color:#e2e8f0;padding:16px 20px;border-radius:var(--r-sm);overflow-x:auto;font-size:.82rem;line-height:1.6;margin:16px 0; }
.jp-body code    { background:rgba(0,59,68,.08);color:var(--brand);padding:2px 6px;border-radius:4px;font-size:.85em;font-family:'Courier New',monospace; }
.jp-body pre code{ background:none;color:inherit;padding:0; }

/* Meta footer */
.jp-meta         { margin-top:32px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px; }
.jp-meta__text   { font-size:.73rem;color:var(--muted); }
.jp-meta__back   { font-size:.78rem;font-weight:600;color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;gap:4px; }
.jp-meta__back:hover{ text-decoration:underline; }

/* Responsive */
@media(max-width:900px){
  .jp-layout        { grid-template-columns:1fr; }
  .jp-toc           { display:none; }
  .jp-card          { padding:24px 20px; }
  .jp-title         { font-size:1.35rem; }
}
@media(max-width:480px){
  .jp-card          { padding:18px 14px; }
  .jp-body          { font-size:.92rem; }
  .jp-outer         { padding:20px 0 40px; }
}


/* =============================================================================
   JOURNAL PAGE (slug pages: About, Copyright, Ethics, Privacy, etc.)
   pg-* classes  —  moved from [slug]/page.tsx inline <style>
   Advanced academic layout matching SiteHeader (.hb-*) design language
   ============================================================================= */

/* ── Outer wrapper ── */
.pg-outer {
  background: linear-gradient(180deg, #f0f4f8 0%, #fff 180px);
  min-height: 60vh;
  padding: 0 0 56px;
}

/* ── Breadcrumb bar ── */
.pg-breadbar {
  background: var(--brand);
  padding: 10px 0;
}
.pg-breadbar-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .75rem;
  color: rgba(255,255,255,.7);
}
.pg-breadbar a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-weight: 500;
  transition: color .15s;
}
.pg-breadbar a:hover { color: #fff; }
.pg-breadbar .sep { opacity: .5; }
.pg-breadbar .curr { color: #fff; font-weight: 600; }

/* ── Hero strip ── */
.pg-hero {
  background: var(--brand);
  padding: 32px 0 40px;
  margin-bottom: -24px;
}
.pg-hero-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}
.pg-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 10px;
}
.pg-hero-label::before {
  content: '';
  display: block;
  width: 16px; height: 2px;
  background: rgba(255,255,255,.4);
  border-radius: 2px;
}
.pg-hero-title {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 700;
  color: #fff;
  margin: 0;
  line-height: 1.25;
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}

/* ── Content wrapper (two-column: TOC + body) ── */
.pg-wrap {
  max-width: var(--container);
  margin: 0 auto;
  padding: 36px 24px 0;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  align-items: flex-start;
}
.pg-wrap--notoc {
  grid-template-columns: 1fr;
  max-width: 860px;
}

/* ── TOC sidebar ── */
.pg-toc {
  position: sticky;
  top: 120px;
}
.pg-toc-box {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 16px 18px;
  box-shadow: var(--sh-sm);
}
.pg-toc-box h4 {
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--brand);
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}
.pg-toc-box a {
  display: block;
  font-size: .8rem;
  color: #475569;
  text-decoration: none;
  padding: 5px 0 5px 10px;
  border-left: 2px solid transparent;
  line-height: 1.4;
  transition: color .15s, border-color .15s, background .15s;
  border-radius: 0 4px 4px 0;
}
.pg-toc-box a:hover {
  color: var(--brand);
  border-left-color: var(--brand);
  background: rgba(0,59,68,.04);
}
.pg-toc-box a.lv3 {
  padding-left: 22px;
  color: var(--muted);
  font-size: .75rem;
}
.pg-toc-box a.lv3:hover { color: var(--brand); }

/* ── Main content card ── */
.pg-main {
  min-width: 0;
}
.pg-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 36px 40px 40px;
  box-shadow: var(--sh-sm);
}

/* ── Page heading inside card ── */
.pg-h1 {
  font-family: var(--font-serif);
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--brand);
  margin: 0 0 6px;
  line-height: 1.25;
}
.pg-h1-divider {
  width: 48px; height: 3px;
  background: var(--brand);
  border-radius: 3px;
  margin: 0 0 26px;
  opacity: .6;
}

/* ── Rich body content ── */
.pg-body {
  font-size: .97rem;
  line-height: 1.82;
  color: #1e293b;
}
.pg-body h2 {
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--brand);
  margin: 30px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.pg-body h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--slate);
  margin: 20px 0 8px;
}
.pg-body p { margin: 0 0 14px; }
.pg-body a { color: #0b5ed7; text-decoration: underline; text-underline-offset: 2px; }
.pg-body a:hover { color: var(--brand); }
.pg-body ul, .pg-body ol { margin: 0 0 14px; padding-left: 22px; }
.pg-body li { margin-bottom: 6px; }
.pg-body strong { font-weight: 700; color: var(--slate); }
.pg-body em { font-style: italic; }
.pg-body blockquote {
  border-left: 3px solid var(--brand);
  background: rgba(0,59,68,.04);
  margin: 18px 0;
  padding: 14px 20px;
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-style: italic;
  color: #374151;
}
.pg-body blockquote p:last-child { margin: 0; }
.pg-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  font-size: .875rem;
  border-radius: var(--r-sm);
  overflow: hidden;
  box-shadow: var(--sh-sm);
}
.pg-body th {
  background: var(--brand);
  color: #fff;
  padding: 10px 14px;
  text-align: left;
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .03em;
}
.pg-body td {
  border-bottom: 1px solid var(--line);
  padding: 9px 14px;
  vertical-align: top;
}
.pg-body tr:nth-child(even) { background: #f8fafc; }
.pg-body tr:hover { background: #f0f9ff; }
.pg-body img { max-width: 100%; height: auto; border-radius: var(--r-sm); }

/* ── Meta footer ── */
.pg-meta {
  font-size: .72rem;
  color: var(--muted);
  margin-top: 28px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 8px;
}
.pg-meta::before {
  content: '🕒';
  font-size: .8rem;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .pg-wrap { grid-template-columns: 1fr; padding: 24px 16px 0; }
  .pg-toc  { display: none; }
  .pg-card { padding: 24px 20px 28px; }
  .pg-hero { padding: 22px 0 32px; }
  .pg-hero-title { font-size: 1.35rem; }
}
@media (max-width: 480px) {
  .pg-card { padding: 18px 14px 22px; border-radius: var(--r); }
  .pg-body { font-size: .93rem; }
}


/* =============================================================================
   BOOTSTRAP ICONS REPLACEMENT — Pure CSS SVG
   DB blocks mein bi-* class names hain — CDN ki zaroorat nahi
   Har icon = inline-block pseudo SVG via mask-image
   ============================================================================= */

[class^="bi-"], [class*=" bi-"] {
  display: inline-block;
  width: 1em; height: 1em;
  vertical-align: -.125em;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  flex-shrink: 0;
}

/* Google Scholar */
.bi-google {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z'/%3E%3C/svg%3E");
}

/* Award / medal */
.bi-award {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9.669.864 8 0 6.331.864l-1.858.282-.842 1.68-1.337 1.32L2.6 6l-.306 1.854 1.337 1.32.842 1.68 1.858.282L8 12l1.669-.864 1.858-.282.842-1.68 1.337-1.32L13.4 6l.306-1.854-1.337-1.32-.842-1.68zm1.196 1.193.684 1.365 1.086 1.072L12.387 6l.248 1.506-1.086 1.072-.684 1.365-1.51.229L8 11l-1.355-.828-1.51-.229-.684-1.365-1.086-1.072L3.613 6l-.248-1.506 1.086-1.072.684-1.365 1.51-.229L8 1l1.355.828z'/%3E%3Cpath d='M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9.669.864 8 0 6.331.864l-1.858.282-.842 1.68-1.337 1.32L2.6 6l-.306 1.854 1.337 1.32.842 1.68 1.858.282L8 12l1.669-.864 1.858-.282.842-1.68 1.337-1.32L13.4 6l.306-1.854-1.337-1.32-.842-1.68zm1.196 1.193.684 1.365 1.086 1.072L12.387 6l.248 1.506-1.086 1.072-.684 1.365-1.51.229L8 11l-1.355-.828-1.51-.229-.684-1.365-1.086-1.072L3.613 6l-.248-1.506 1.086-1.072.684-1.365 1.51-.229L8 1l1.355.828z'/%3E%3Cpath d='M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z'/%3E%3C/svg%3E");
}

/* Barcode / ISSN */
.bi-upc-scan {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5M.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5M3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5M.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5M3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0z'/%3E%3C/svg%3E");
}

/* Link / CrossRef */
.bi-link-45deg {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1 1 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4 4 0 0 1-.128-1.287z'/%3E%3Cpath d='M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1 1 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4 4 0 0 1-.128-1.287z'/%3E%3Cpath d='M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243z'/%3E%3C/svg%3E");
}

/* Journal / ScienceGate */
.bi-journal-text {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5'/%3E%3Cpath d='M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2'/%3E%3Cpath d='M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5'/%3E%3Cpath d='M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2'/%3E%3Cpath d='M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1z'/%3E%3C/svg%3E");
}

/* Bar chart / Scite */
.bi-bar-chart-line {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1zm1 12h2V2h-2zm-3 0V7H7v7zm-5 0v-3H2v3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1zm1 12h2V2h-2zm-3 0V7H7v7zm-5 0v-3H2v3z'/%3E%3C/svg%3E");
}

/* Globe / Advanced Sciences */
.bi-globe2, .bi-globe {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855A8 8 0 0 0 5.145 4H7.5zM4.09 4a9.3 9.3 0 0 1 .64-1.539 7 7 0 0 1 .597-.933A7.03 7.03 0 0 0 2.255 4zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a7 7 0 0 0-.656 2.5zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5zM8.5 5v2.5h2.99a12.5 12.5 0 0 0-.337-2.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5zM5.145 12q.208.58.468 1.068c.552 1.035 1.218 1.65 1.887 1.855V12zm.182 2.472a7 7 0 0 1-.597-.933A9.3 9.3 0 0 1 4.09 12H2.255a7 7 0 0 0 3.072 2.472M3.82 11a13.7 13.7 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5zm6.853 3.472A7 7 0 0 0 13.745 12H11.91a9.3 9.3 0 0 1-.64 1.539 7 7 0 0 1-.597.933M8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855q.26-.487.468-1.068zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.7 13.7 0 0 1-.312 2.5m2.802-3.5a7 7 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7 7 0 0 0-3.072-2.472c.218.284.418.598.597.933M10.855 4a8 8 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855A8 8 0 0 0 5.145 4H7.5zM4.09 4a9.3 9.3 0 0 1 .64-1.539 7 7 0 0 1 .597-.933A7.03 7.03 0 0 0 2.255 4zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a7 7 0 0 0-.656 2.5zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5zM8.5 5v2.5h2.99a12.5 12.5 0 0 0-.337-2.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5zM5.145 12q.208.58.468 1.068c.552 1.035 1.218 1.65 1.887 1.855V12zm.182 2.472a7 7 0 0 1-.597-.933A9.3 9.3 0 0 1 4.09 12H2.255a7 7 0 0 0 3.072 2.472M3.82 11a13.7 13.7 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5zm6.853 3.472A7 7 0 0 0 13.745 12H11.91a9.3 9.3 0 0 1-.64 1.539 7 7 0 0 1-.597.933M8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855q.26-.487.468-1.068zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.7 13.7 0 0 1-.312 2.5m2.802-3.5a7 7 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7 7 0 0 0-3.072-2.472c.218.284.418.598.597.933M10.855 4a8 8 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4z'/%3E%3C/svg%3E");
}

/* Patch check filled — Indexing heading */
.bi-patch-check-fill {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z'/%3E%3C/svg%3E");
}

/* External link arrow */
.bi-box-arrow-up-right {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z'/%3E%3C/svg%3E");
}

/* People / authors */
.bi-people, .bi-people-fill {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1zm-7.978-1L7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002-.014.002zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4m3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0M6.936 9.28a6 6 0 0 0-1.23-.247A7 7 0 0 0 5 9c-4 0-5 3-5 4q0 1 1 1h4.216A2.24 2.24 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816M4.92 10A5.5 5.5 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1zm-7.978-1L7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002-.014.002zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4m3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0M6.936 9.28a6 6 0 0 0-1.23-.247A7 7 0 0 0 5 9c-4 0-5 3-5 4q0 1 1 1h4.216A2.24 2.24 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816M4.92 10A5.5 5.5 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4'/%3E%3C/svg%3E");
}

/* Eye / views */
.bi-eye {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z'/%3E%3Cpath d='M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z'/%3E%3Cpath d='M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0'/%3E%3C/svg%3E");
}

/* Calendar */
.bi-calendar3 {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857z'/%3E%3Cpath d='M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857z'/%3E%3Cpath d='M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2'/%3E%3C/svg%3E");
}

/* File earmark text */
.bi-file-earmark-text {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5'/%3E%3Cpath d='M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5'/%3E%3Cpath d='M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

/* PDF file type */
.bi-filetype-pdf {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38.57.57 0 0 1-.238.241.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181.185.183.185.522m1.217-1.333v3.999h1.246q.606 0 .985-.332.38-.33.513-.918.135-.59.135-1.395 0-.805-.133-1.393a1.8 1.8 0 0 0-.514-.917q-.382-.33-.986-.344zm.791.645h.43q.324 0 .512.205.19.202.257.559t.067.844q0 .475-.066.836-.065.359-.257.561-.19.2-.512.2h-.43zm3.557-.645v3.999h.791v-1.624h1.248v-.646H7.71v-1.085h1.422v-.644z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38.57.57 0 0 1-.238.241.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181.185.183.185.522m1.217-1.333v3.999h1.246q.606 0 .985-.332.38-.33.513-.918.135-.59.135-1.395 0-.805-.133-1.393a1.8 1.8 0 0 0-.514-.917q-.382-.33-.986-.344zm.791.645h.43q.324 0 .512.205.19.202.257.559t.067.844q0 .475-.066.836-.065.359-.257.561-.19.2-.512.2h-.43zm3.557-.645v3.999h.791v-1.624h1.248v-.646H7.71v-1.085h1.422v-.644z'/%3E%3C/svg%3E");
}

/* Arrow right */
.bi-arrow-right {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/%3E%3C/svg%3E");
}

/* Trending graph */
.bi-graph-up-arrow {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 0h1v15h15v1H0zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 0h1v15h15v1H0zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E");
}

/* Speaker / megaphone — call for paper */
.bi-megaphone, .bi-megaphone-fill {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 2.5a1 1 0 0 1 2 0v11a1 1 0 0 1-2 0v-.085l-1 .5V3.585zM11.5 3.585v8.83l-10 5V14.5a1.5 1.5 0 0 1-1.5-1.5v-5A1.5 1.5 0 0 1 1.5 6.5h.5v-1.5a.5.5 0 0 1 .5-.5zM2 7.5v4h.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 2.5a1 1 0 0 1 2 0v11a1 1 0 0 1-2 0v-.085l-1 .5V3.585zM11.5 3.585v8.83l-10 5V14.5a1.5 1.5 0 0 1-1.5-1.5v-5A1.5 1.5 0 0 1 1.5 6.5h.5v-1.5a.5.5 0 0 1 .5-.5zM2 7.5v4h.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5z'/%3E%3C/svg%3E");
}

/* Award filled */
.bi-award-fill {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0l1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864z'/%3E%3Cpath d='M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0l1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864z'/%3E%3Cpath d='M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z'/%3E%3C/svg%3E");
}
.me-1 { margin-right: .25rem !important; }
.me-2 { margin-right: .5rem  !important; }
.me-3 { margin-right: 1rem   !important; }
.ms-1 { margin-left:  .25rem !important; }
.ms-2 { margin-left:  .5rem  !important; }

/* =============================================================================
   ISSUE VIEW  —  iv-* prefix
   app/index.php/[journal]/issue/view/[id]/page.tsx
   PHP: issue/view.php  |  Zero Bootstrap
   ============================================================================= */

/* Layout */
.iv-w { max-width: var(--container, 1200px); margin: 0 auto; padding: 0 20px; }
.iv-page-grid {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 28px;
  align-items: flex-start;
  padding: 28px 0 56px;
}
@media (max-width: 900px) { .iv-page-grid { grid-template-columns: 1fr; } .iv-toc-col { display: none; } }

/* Breadcrumb */
.iv-crumb { background: #f8fafc; border-bottom: 1px solid var(--line); padding: 10px 0; }
.iv-crumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 5px; align-items: center; font-size: .78rem; }
.iv-crumb li { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); }
.iv-crumb li + li::before { content: '›'; margin-right: 4px; color: #cbd5e1; }
.iv-crumb a { color: var(--brand); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; font-weight: 500; }
.iv-crumb a:hover { text-decoration: underline; }
.iv-crumb li[aria-current] { color: var(--muted); }

/* Issue header */
.iv-header { background: linear-gradient(170deg, #0b1f2a 0%, #003b44 100%); padding: 32px 0 28px; }
.iv-header__journal { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.iv-header__label { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 900; color: #fff; margin: 0 0 6px; line-height: 1.15; }
.iv-header__title { font-size: 1rem; color: rgba(255,255,255,.7); margin-bottom: 12px; }
.iv-header__meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: .8rem; color: rgba(255,255,255,.65); align-items: center; }
.iv-header__meta span { display: inline-flex; align-items: center; gap: 5px; }

/* Outer area */
.iv-outer { background: #f4f8f9; }

/* Left sticky TOC */
.iv-toc-col { position: sticky; top: 120px; height: fit-content; overflow: visible; }
.iv-toc-card { background: #fff; border: 1px solid #e9ecef; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,.05); overflow: hidden; }
.iv-toc-head { display: flex; align-items: center; gap: 6px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); padding: 10px 14px; border-bottom: 1px solid #eef2f4; background: #fafbfc; }
.iv-toc-body { padding: 8px 0; }
.iv-toc-body ul { list-style: none; margin: 0; padding: 0; }
.iv-toc-body li { margin: 0; }
.iv-sec-link { display: block; padding: 6px 14px; color: #495057; text-decoration: none; font-size: .8rem; transition: background .12s, color .12s; }
.iv-sec-link:hover { background: #f1f5f9; color: var(--brand); }
.iv-sec-link--active { font-weight: 700; color: var(--brand); background: #eef9ff; border-left: 3px solid var(--brand); padding-left: 11px; }

/* Main area */
.iv-main { min-width: 0; }
.iv-issue-hd {}
.iv-issue-hd__title { font-size: 1.35rem; font-weight: 800; color: var(--dark); margin-bottom: .35rem; }
.iv-issue-hd__date { color: var(--muted); font-size: .88rem; margin-bottom: .75rem; }
.iv-issue-hd__desc { font-size: .9rem; line-height: 1.7; color: var(--dark); margin-bottom: .75rem; }
.iv-divider { border: none; border-top: 1px solid #e9ecef; margin: 1rem 0 1.5rem; }

/* Empty state */
.iv-empty { padding: 40px; text-align: center; color: var(--muted); font-size: .9rem; background: #fff; border-radius: 10px; border: 1px solid var(--line); }

/* Article card (PHP card-sep) */
.iv-art-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(2,6,23,.06);
  transition: box-shadow .15s, border-color .15s;
}
.iv-art-card:hover { box-shadow: 0 4px 16px rgba(2,6,23,.1); border-color: rgba(0,59,68,.2); }

/* Badges */
.iv-art-badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.iv-badge-oa {
  display: inline-flex; align-items: center; gap: 5px;
  background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0;
  border-radius: 999px; padding: 3px 10px; font-size: .72rem; font-weight: 700;
}
.iv-badge-section {
  background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0;
  border-radius: 999px; padding: 3px 10px; font-size: .72rem; font-weight: 600;
}

/* Article title */
.iv-art-title { font-size: 1.1rem; font-weight: 700; color: #174f86; margin: 0 0 8px; line-height: 1.35; }
.iv-art-title a { color: inherit; text-decoration: none; }
.iv-art-title a:hover { color: var(--brand); text-decoration: underline; }

/* Authors */
.iv-art-authors { display: flex; align-items: flex-start; gap: 5px; font-size: .84rem; color: #374151; margin-bottom: 7px; }

/* Meta */
.iv-art-meta { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--muted); margin-bottom: 6px; }
.iv-meta-journal { font-weight: 700; color: var(--dark); }
.iv-meta-sep { color: #d1d5db; }
.iv-meta-date { color: var(--muted); }

/* DOI */
.iv-art-doi { font-size: .78rem; margin-bottom: 7px; }
.iv-art-doi a { color: var(--brand); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.iv-art-doi a:hover { text-decoration: underline; }

/* Stats */
.iv-art-stats { display: flex; flex-wrap: wrap; gap: 12px; font-size: .76rem; color: var(--muted); margin-bottom: 12px; }
.iv-art-stats span { display: inline-flex; align-items: center; gap: 4px; }

/* Action buttons */
.iv-art-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.iv-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border-radius: 7px; font-size: .8rem; font-weight: 700; text-decoration: none; transition: all .15s; cursor: pointer; border: 1px solid transparent; }
.iv-btn--primary { background: #fff; color: var(--dark); border-color: #d1d5db; }
.iv-btn--primary:hover { background: #f1f5f9; border-color: #9ca3af; color: var(--dark); }
.iv-btn--pdf { background: #fff; color: #dc2626; border-color: #fca5a5; }
.iv-btn--pdf:hover { background: #fef2f2; border-color: #f87171; }

/* Back link */
.iv-back-row { padding: 20px 0 8px; }
.iv-back-link { display: inline-flex; align-items: center; gap: 6px; font-size: .84rem; font-weight: 700; color: var(--brand); text-decoration: none; }
.iv-back-link:hover { text-decoration: underline; }


/* =============================================================================
   ARTICLE VIEW  —  ar-* prefix  |  Image-exact PHP match
   ============================================================================= */

:root {
  --ar-serif: 'EB Garamond', Georgia, 'Times New Roman', serif;
  --ar-sans:  'Source Sans 3','Helvetica Neue', Arial, sans-serif;
}

.ar-w { max-width: 1200px; margin: 0 auto; }

/* ── Breadcrumb ── */
.ar-crumb { background: #f8fafc; border-bottom: 1px solid var(--line); padding: 9px 0; font-size: .78rem; }
.ar-crumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ar-crumb li { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); }
.ar-crumb li + li::before { content: '/'; margin-right: 3px; color: #cbd5e1; }
.ar-crumb a { color: #475569; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.ar-crumb a:hover { color: var(--brand); }
.ar-crumb-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 80px; }
@media (min-width: 992px) { .ar-crumb-title { max-width: 700px; } }

/* ── Page ── */
.ar-page { background: #f5f6f8; padding: 18px 0 56px; }

.ar-grid {
  display: grid;
  grid-template-columns: 195px 1fr 270px;
  gap: 18px;
  align-items: flex-start;
}
@media (max-width: 1100px) { .ar-grid { grid-template-columns: 1fr 265px; } .ar-toc-col { display: none; } }
@media (max-width: 768px)  { .ar-grid { grid-template-columns: 1fr; } .ar-sidebar { order: -1; } }

/* CRITICAL — prevent sticky killers (desktop only) */
@media (min-width: 992px) {
  .ar-page, .ar-w, .ar-grid, .ar-toc-col, .ar-main, .ar-sidebar {
    overflow: visible !important; transform: none !important; filter: none !important;
  }
}

/* Mobile: prevent horizontal overflow */
@media (max-width: 991.98px) {
  body { overflow-x: hidden; }
  .ar-w { padding: 0 12px; max-width: 100%; box-sizing: border-box; }
  .ar-grid { width: 100%; min-width: 0; overflow: hidden; }
  .ar-main, .ar-sidebar { min-width: 0; max-width: 100%; overflow-x: hidden; box-sizing: border-box; }
  .ar-article-body { overflow-x: hidden; box-sizing: border-box; }
}

/* ── TOC column ── */
.ar-toc-col { position: sticky; top: 120px; height: fit-content; align-self: flex-start; }
.ar-toc-card { background: #fff; border: 1px solid #e9ecef; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,.04); overflow: hidden; }
.ar-toc-head { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); padding: 10px 14px; border-bottom: 1px solid #eef2f4; background: #fafbfc; }
.ar-toc-body { max-height: calc(100vh - 180px); overflow-y: auto; padding: 8px 6px; }
.ar-toc-body::-webkit-scrollbar { width: 3px; }
.ar-toc-body::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 2px; }
.ar-toc-empty { font-size: .8rem; color: var(--muted); padding: 6px 8px; margin: 0; }

/* TOC nav — numbered list, PHP-exact style */
.ar-toc-nav ol { list-style: decimal; padding-left: 1.3rem; margin: 0; }
.ar-toc-nav li { margin: 0; padding: 0; }
.ar-toc-nav li.toc-h3 { padding-left: 10px; font-size: .76rem; }
.ar-toc-nav a {
  display: block; padding: 3px 4px;
  font-size: .8rem; line-height: 1.35;
  text-decoration: none; color: #495057;
  border-left: 2px solid transparent;
  transition: all .12s;
}
.ar-toc-nav a:hover { color: var(--brand); }
.ar-toc-nav a.active {
  color: var(--brand); font-weight: 700;
  border-left-color: var(--brand);
  padding-left: 6px;
}

/* ── Center: Article main ── */
.ar-main { min-width: 0; }

/* Article header card */
.ar-art-header {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 20px 24px 0;
  margin-bottom: 14px;
  box-shadow: 0 1px 4px rgba(2,6,23,.05);
}
.ar-header-divider { border: none; border-top: 1px solid #e9ecef; margin: 14px -24px 0; }

/* Eyebrow badges */
.ar-eyebrow { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; align-items: center; justify-content: space-between; }
.ar-badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 6px; font-size: .72rem; font-weight: 700; }
.ar-badge--section { background: linear-gradient(135deg,#004d40,#009688); color: #fff; }
.ar-badge--oa { background: #ecfdf5; color: #065f46; border: 1px solid #c9f5e3; }

/* Reader title — image: large, sans-serif, bold */
.ar-title {
  font-family: var(--ar-sans), system-ui, sans-serif;
  font-size: clamp(1.2rem, 2.5vw, 1.65rem);
  font-weight: 700; color: #0f172a; line-height: 1.28; margin: 0 0 12px;
}

/* Authors */
.ar-authors { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin-bottom: 9px; }
.ar-author-chip {
  background: none; border: none; cursor: pointer;
  color: #1a6496; font-size: .88rem; font-weight: 400;
  padding: 0; font-family: inherit; transition: color .12s;
}
.ar-author-chip:hover { color: var(--brand); text-decoration: underline; }
.ar-author-chip sup { color: #dc2626; font-size: .65em; }
.ar-orcid-dot { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; background: #a6ce39; color: #fff; font-size: .45rem; font-weight: 900; margin-left: 3px; vertical-align: middle; }
.ar-author-sep { color: #6c757d; }

/* Meta row: DOI · pages · issue · date */
.ar-metarow { display: flex; flex-wrap: wrap; gap: 4px 6px; font-size: .8rem; color: var(--muted); margin-bottom: 12px; }
.ar-meta-item { display: inline-flex; align-items: center; gap: 3px; }
.ar-meta-doi { color: var(--brand); text-decoration: none; }
.ar-meta-doi:hover { text-decoration: underline; }
.ar-meta-issue { color: var(--brand); text-decoration: none; font-weight: 500; }
.ar-meta-issue:hover { text-decoration: underline; }

/* Action buttons row */
.ar-header-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding-bottom: 14px; }
.ar-hbtn { display: inline-flex; align-items: center; gap: 5px; padding: 5px 13px; border-radius: 6px; font-size: .8rem; font-weight: 600; text-decoration: none; cursor: pointer; border: 1px solid transparent; font-family: inherit; transition: all .15s; }
.ar-hbtn--pdf { background: #fff; color: var(--brand); border-color: var(--brand); }
.ar-hbtn--pdf:hover { background: var(--brand); color: #fff; }
.ar-hbtn--ghost { background: #fff; color: #374151; border-color: #d1d5db; }
.ar-hbtn--ghost:hover { background: #f9fafb; }
.ar-auto-badge { font-size: .6em; background: rgba(0,0,0,.1); border-radius: 999px; padding: 1px 5px; }
.ar-header-stats { font-size: .78rem; color: var(--muted); }

/* Dropdown */
.ar-dropdown { position: relative; }
.ar-dropdown-menu { position: absolute; top: calc(100% + 4px); left: 0; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 24px rgba(2,6,23,.12); min-width: 175px; z-index: 200; padding: 4px; }
.ar-dropdown-item { display: block; width: 100%; padding: 7px 12px; font-size: .82rem; font-weight: 500; color: var(--dark); text-decoration: none; border-radius: 6px; transition: background .1s; }
.ar-dropdown-item:hover { background: #f3f6fb; }
.ar-dropdown-item--btn { background: none; border: none; cursor: pointer; text-align: left; font-family: inherit; }
.ar-dropdown-divider { height: 1px; background: var(--line); margin: 4px 0; }

/* ── Article body card ── */
.ar-article-body {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 28px 30px;
  box-shadow: 0 1px 4px rgba(2,6,23,.05);
  font-family: var(--ar-serif);
  font-size: 15px; line-height: 1.78;
  color: #0f172a; text-align: justify;
}
@media (max-width: 640px) {
  .ar-article-body { padding: 16px; text-align: left; }
}
.ar-article-body p { font-family: var(--ar-serif); margin: .5rem 0 1rem; }
.ar-article-body h1, .ar-article-body h2,
.ar-article-body h3, .ar-article-body h4 {
  font-family: var(--ar-sans), system-ui, sans-serif;
  color: #0f172a; line-height: 1.25; text-align: left;
}
.ar-article-body h2 { font-size: 1.15rem; font-weight: 700; margin: 1.8rem 0 .65rem; padding-bottom: .3rem; border-bottom: 1px solid #e5e7eb; }
.ar-article-body h3 { font-size: 1.05rem; font-weight: 700; margin: 1.4rem 0 .5rem; }
.ar-article-body h4 { font-size: 1rem; font-weight: 700; margin: 1rem 0 .4rem; }
.ar-article-body h1, .ar-article-body h2, .ar-article-body h3 { scroll-margin-top: 90px; }
.ar-article-body a { color: var(--brand); text-decoration: none; }
.ar-article-body a:hover { text-decoration: underline; }
.ar-article-body img { max-width: 100%; height: auto; display: block; margin: .75rem auto; }
.ar-article-body figure { border: 1px solid #e5e7eb; border-radius: 8px; padding: .75rem; margin: 1rem 0; }
.ar-article-body figcaption { font-family: var(--ar-sans); font-size: .85em; color: #475569; margin-top: .4rem; text-align: center; }
.ar-article-body table { width: 100%; border-collapse: collapse; margin: .75rem 0 1.25rem; font-size: .92em; }
.ar-article-body th, .ar-article-body td { border: 1px solid #e5e7eb; padding: .5rem .65rem; vertical-align: top; }
.ar-article-body th { background: #f8fafc; font-weight: 700; }
.ar-article-body .table-responsive { overflow-x: auto; }
.ar-article-body code { background: #f3f4f6; padding: .1rem .3rem; border-radius: .25rem; font-size: .9em; }
.ar-article-body blockquote { border-left: 3px solid #e5e7eb; padding-left: 1rem; color: #6b7280; font-style: italic; margin: 1rem 0; }
.ar-article-body section { margin-bottom: 0; }
.ar-article-body .sec-hd { font-size: 1.1rem; font-weight: 700; margin: 1.6rem 0 .6rem; padding-bottom: .3rem; border-bottom: 1px solid #e5e7eb; font-family: var(--ar-sans), system-ui, sans-serif; text-align: left; }
.ar-article-body .back-matter { border-top: 2px solid #e5e7eb; margin-top: 2rem; padding-top: 1.5rem; }
.ar-article-body #refList li { font-size: .86rem; line-height: 1.6; margin-bottom: .5rem; word-break: break-word; }
.ar-article-body #refList { list-style: decimal; padding-left: 2rem; }
.ar-article-body .doi-badge { display: inline-block; padding: .1rem .45rem; border: 1px solid rgba(0,59,68,.3); border-radius: 999px; font-size: .75rem; color: var(--brand); text-decoration: none; }
.ar-article-body .cite { color: var(--brand); text-decoration: none; font-weight: 600; font-size: .85em; }
.ar-article-body .cite:hover { text-decoration: underline; }
.ar-article-body .formula-block { background: #f8fafc; border-radius: 6px; padding: .5rem .75rem; margin: .75rem 0; }
.ar-article-body .footnotes { font-size: .85rem; color: #6b7280; border-top: 1px solid #e5e7eb; padding-top: 1rem; margin-top: 1.5rem; }

/* Reference highlight — tab mein citation click ke baad flash animation */
@keyframes ar-ref-flash {
  0%   { background: #fef08a; box-shadow: 0 0 0 3px #fde047; }
  70%  { background: #fef9c3; }
  100% { background: transparent; box-shadow: none; }
}
.ar-ref-highlight {
  animation: ar-ref-flash 3.5s ease forwards;
  border-radius: 4px;
  display: block;
}

/* Citation tooltip — dark popup */
.ar-cite-tooltip {
  background: #1e293b;
  color: #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: .8rem;
  line-height: 1.55;
  box-shadow: 0 8px 32px rgba(0,0,0,.35);
  word-break: break-word;
  animation: ar-tooltip-in .15s ease;
  border: 1px solid rgba(255,255,255,.08);
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
}
@keyframes ar-tooltip-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ar-ctt__text { margin-bottom: 10px; color: #cbd5e1; }
.ar-ctt__notfound { color: #94a3b8; font-style: italic; }
.ar-ctt__btns { display: flex; flex-wrap: wrap; gap: 6px; }
.ar-ctt__btn { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 6px; font-size: .72rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: opacity .15s; }
.ar-ctt__btn:hover { opacity: .8; }
.ar-ctt__btn--doi     { background: #1e40af; color: #bfdbfe; }
.ar-ctt__btn--scholar { background: #166534; color: #bbf7d0; }
.ar-ctt__btn--scopus  { background: #7c2d12; color: #fed7aa; }
.ar-ctt__btn--jump    { background: rgba(255,255,255,.1); color: #e2e8f0; }

/* Reference list buttons (main body) */
.ar-ref-btns { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.ar-ref-btn { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 5px; font-size: .7rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: opacity .15s; }
.ar-ref-btn:hover { opacity: .75; }
.ar-ref-btn--doi     { background: #dbeafe; color: #1e40af; border: 1px solid #bfdbfe; }
.ar-ref-btn--scholar { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.ar-ref-btn--scopus  { background: #ffedd5; color: #7c2d12; border: 1px solid #fed7aa; }

/* Fallback (no fulltext) */
.ar-kw-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.ar-kw-chip { background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; border-radius: 999px; padding: 3px 12px; font-size: .78rem; font-family: var(--ar-sans); }
.ar-ref-list { padding-left: 1.3rem; margin: 0; }
.ar-ref-list li { font-size: .85rem; line-height: 1.65; color: #374151; margin-bottom: 8px; word-break: break-word; }
.ar-empty-note { color: var(--muted); font-size: .88rem; font-family: var(--ar-sans); }

/* ── Right sidebar ── */
.ar-sidebar { position: sticky; top: 120px; height: fit-content; align-self: flex-start; }

/* Tabs */
.ar-tabs { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; margin-bottom: 12px; box-shadow: 0 1px 4px rgba(2,6,23,.06); }
.ar-tabs-nav { display: flex; border-bottom: 1px solid var(--line); }
.ar-tab-btn { flex: 1; padding: 9px 4px; background: #f8fafc; border: none; border-right: 1px solid var(--line); cursor: pointer; font-size: .72rem; font-weight: 600; color: #475569; transition: background .12s; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ar-tab-btn:last-child { border-right: none; }
.ar-tab-btn:hover { background: #f1f5f9; }
.ar-tab-btn--active { background: #fff; color: var(--dark); box-shadow: inset 0 -2px 0 var(--brand); }
.ar-tab-panel { padding: 13px 14px; }

/* Details */
.ar-detail-row { display: flex; gap: 4px; font-size: .8rem; margin-bottom: 5px; line-height: 1.45; flex-wrap: wrap; }
.ar-detail-lbl { color: var(--muted); white-space: nowrap; }
.ar-detail-val { color: #0f172a; word-break: break-word; }
.ar-detail-val a { color: var(--brand); text-decoration: none; font-weight: 500; }
.ar-detail-val a:hover { text-decoration: underline; }
.ar-doi-link { color: var(--brand); text-decoration: none; font-size: .72rem; word-break: break-all; }
.ar-doi-link:hover { text-decoration: underline; }
.ar-divider { border: none; border-top: 1px solid var(--line); margin: 10px 0; }

/* AUTHORS section */
.ar-authors-section {}
.ar-detail-subhd { font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: var(--muted); margin-bottom: 8px; }
.ar-authors-list { list-style: none; padding: 0; margin: 0 0 4px; }
.ar-authors-list li { margin-bottom: 5px; font-size: .83rem; }
.ar-authors-list li::before { content: '•'; margin-right: 6px; color: var(--muted); }
.ar-author-link { background: none; border: none; cursor: pointer; font-size: .83rem; color: #0f172a; padding: 0; text-align: left; font-family: inherit; transition: color .12s; }
.ar-author-link:hover { color: var(--brand); }

/* Chart */
.ar-chart-legend { display: flex; gap: 14px; margin-bottom: 6px; font-size: .72rem; color: var(--muted); align-items: center; }
.ar-legend-views, .ar-legend-dl { display: inline-flex; align-items: center; gap: 5px; }
.ar-legend-line { display: inline-block; width: 28px; height: 3px; border-radius: 2px; }
.ar-legend-line--blue { background: #0ea5e9; }
.ar-legend-line--red  { background: #f87171; }
.ar-chart-wrap { height: 155px; position: relative; margin-bottom: 10px; }
.ar-chart-wrap canvas { width: 100% !important; height: 100% !important; }
/* Chart legend — new style (ar-legend-item) */
.ar-legend-item { display: inline-flex; align-items: center; gap: 5px; font-size: .72rem; color: var(--muted); }
.ar-legend-item--views {}
.ar-legend-item--dl {}

/* Metrics numbers below chart */
.ar-metrics-nums { display: flex; gap: 20px; align-items: center; margin: 10px 0 12px; }
.ar-metric-num { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ar-metric-num svg { color: var(--muted); margin-bottom: 2px; }
.ar-metric-val { font-size: 1.5rem; font-weight: 800; color: #0f172a; line-height: 1; }
.ar-metric-lbl { font-size: .62rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }

/* Stats numbers — image: big number + label */
.ar-stats-nums { display: flex; gap: 20px; align-items: flex-end; margin-bottom: 12px; }
.ar-stat-num-item { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ar-stat-num-item svg { color: var(--muted); margin-bottom: 2px; }
.ar-stat-num { font-size: 1.55rem; font-weight: 800; color: #0f172a; line-height: 1; }
.ar-stat-lbl { font-size: .62rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }

/* Full text PDF button */
.ar-sidebar-pdf { border-top: 1px solid var(--line); padding-top: 12px; }
.ar-pdf-full-btn {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  width: 100%; padding: 9px 12px;
  background: #fff; color: var(--brand);
  border: 1px solid var(--brand); border-radius: 7px;
  font-size: .82rem; font-weight: 700;
  text-decoration: none; transition: all .15s; cursor: pointer;
}
.ar-pdf-full-btn:hover { background: var(--brand); color: #fff; }

/* Refs/Figures tabs */
.ar-ref-list-side { padding-left: 1.2rem; margin: 0; font-size: .78rem; }
.ar-ref-list-side li { line-height: 1.55; color: #374151; margin-bottom: 8px; word-break: break-word; }
.ar-figures-area { color: var(--muted); font-size: .84rem; padding: 4px 0; }
.ar-figure-thumb { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.ar-figure-thumb:last-child { border-bottom: none; margin-bottom: 0; }
.ar-figure-thumb figure { margin: 0; }
.ar-figure-thumb img { max-width: 100%; height: auto; border-radius: 4px; display: block; }
.ar-figure-thumb figcaption { font-size: .78rem; color: var(--muted); margin-top: 4px; }
.ar-figure-thumb--table { overflow-x: auto; }
.ar-figure-thumb--table .table-responsive { margin: 0; }
.ar-figure-thumb--table table { font-size: .75rem; width: 100%; border-collapse: collapse; }
.ar-figure-thumb--table td, .ar-figure-thumb--table th { padding: 3px 6px; border: 1px solid var(--border); }
.ar-figure-thumb--table .text-secondary { font-size: .78rem; color: var(--muted); margin-bottom: 4px; }

/* Related */
.ar-related { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; margin-bottom: 12px; box-shadow: 0 1px 4px rgba(2,6,23,.06); }
.ar-related-hd { padding: 9px 14px; font-size: .78rem; font-weight: 700; color: #1e293b; border-bottom: 1px solid var(--line); background: #fafbfc; }
.ar-related-item { padding: 9px 14px; border-bottom: 1px solid #f8fafc; }
.ar-related-item:last-child { border-bottom: none; }
.ar-related-item a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .8rem; color: #1e3a8a; text-decoration: none; font-weight: 600; line-height: 1.4; }
.ar-related-item a:hover { color: var(--dark); text-decoration: underline; }
.ar-related-date { font-size: .7rem; color: #94a3b8; margin-top: 3px; }

/* OA notice */
.ar-oa-notice { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 11px 14px; margin-bottom: 12px; }
.ar-oa-title { font-weight: 600; color: #111827; font-size: .77rem; margin-bottom: 4px; }
.ar-oa-body { font-size: .74rem; color: #4b5563; line-height: 1.55; }
.ar-oa-body a { color: var(--brand); font-weight: 700; }

/* Author Drawer */
.ar-drawer { position: fixed; top: 0; right: -440px; width: 420px; max-width: 92vw; height: 100vh; background: #fff; border-left: 1px solid #dee2e6; box-shadow: -8px 0 24px rgba(0,0,0,.08); z-index: 10080; transition: right .28s ease; }
.ar-drawer--open { right: 0; }
.ar-drawer-hd { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.1rem; border-bottom: 1px solid #eef2f4; font-size: .88rem; font-weight: 700; color: var(--dark); }
.ar-drawer-close { display: inline-flex; align-items: center; gap: 5px; background: none; border: 1px solid #e2e8f0; border-radius: 7px; padding: 5px 11px; font-size: .78rem; font-weight: 600; cursor: pointer; color: #475569; transition: background .12s; }
.ar-drawer-close:hover { background: #f1f5f9; }
.ar-drawer-body { padding: 1rem 1.1rem; overflow-y: auto; height: calc(100vh - 56px); }
.ar-drawer-author { border: 1px solid #eef2f4; border-radius: 8px; padding: 14px; margin-bottom: 12px; }
.ar-drawer-name { font-weight: 700; font-size: .95rem; color: var(--dark); margin-bottom: 5px; }
.ar-drawer-aff { font-size: .82rem; color: #6c757d; line-height: 1.45; margin-bottom: 6px; }
.ar-drawer-orcid { font-size: .8rem; margin-bottom: 8px; }
.ar-drawer-orcid a { color: var(--brand); text-decoration: none; }
.ar-drawer-orcid a:hover { text-decoration: underline; }
.ar-profile-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; background: #0f5b8e; color: #fff; border-radius: 8px; text-decoration: none; font-size: .8rem; font-weight: 600; transition: background .15s; }
.ar-profile-btn:hover { background: #0a4a74; color: #fff; }
.ar-claim-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; background: #fef9c3; color: #854d0e; border: 1px solid #fde047; border-radius: 8px; text-decoration: none; font-size: .8rem; font-weight: 600; transition: background .15s; margin-top: 6px; }
.ar-claim-btn:hover { background: #fef08a; }

html { scroll-behavior: smooth; }

/* =============================================================================
   ISSUE ARCHIVE  —  ia-* prefix
   app/index.php/[journal]/issue/archive/page.tsx
   Zero Bootstrap | All CSS here
   ============================================================================= */

.ia-w { max-width: var(--container); margin: 0 auto; padding: 0 20px; }

/* ── Breadcrumb ── */
.ia-crumb {
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
}
.ia-crumb ol {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
  align-items: center; font-size: .78rem;
}
.ia-crumb li {
  display: inline-flex; align-items: center;
  gap: 5px; color: var(--muted);
}
.ia-crumb li + li::before { content: '/'; margin-right: 4px; color: #cbd5e1; }
.ia-crumb a {
  color: #475569; text-decoration: none;
  display: inline-flex; align-items: center; gap: 5px;
}
.ia-crumb a:hover { color: var(--brand); text-decoration: underline; }

/* ── Hero banner ── */
.ia-hero {
  background: linear-gradient(160deg, #0b1f2a 0%, #003b44 60%, #004f5c 100%);
  padding: 52px 0 44px;
  position: relative;
  overflow: hidden;
}
.ia-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 80% 50%, rgba(14,165,233,.08) 0%, transparent 65%);
  pointer-events: none;
}
.ia-hero__kicker {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  color: rgba(255,255,255,.5);
  margin-bottom: 12px;
}
.ia-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.4rem);
  font-weight: 900; color: #fff;
  margin: 0 0 8px; line-height: 1.1;
}
.ia-hero__sub {
  font-size: .95rem; color: rgba(255,255,255,.6);
  margin-bottom: 20px;
}
.ia-hero__badges {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.ia-hero__badge {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  padding: 5px 16px;
  font-size: .78rem; color: #e2e8f0;
}

/* ── Body ── */
.ia-body {
  background: #f4f8f9;
  padding: 36px 0 60px;
  min-height: 50vh;
}

/* Empty state */
.ia-empty {
  background: #fff; border: 1px solid var(--line);
  border-radius: 12px; padding: 48px;
  text-align: center; color: var(--muted);
  font-size: .9rem;
}

/* ── Year group ── */
.ia-year-group { margin-bottom: 40px; }

.ia-year-hd {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 18px;
}
.ia-year-label {
  font-size: 1.35rem; font-weight: 900;
  color: var(--dark); white-space: nowrap;
  line-height: 1;
}
.ia-year-count {
  font-size: .75rem; font-weight: 600;
  color: var(--muted);
  background: #e2e8f0; border-radius: 999px;
  padding: 3px 10px; white-space: nowrap;
}
.ia-year-rule {
  flex: 1; height: 1px;
  background: linear-gradient(to right, #e2e8f0, transparent);
}

/* ── Issue cards grid ── */
.ia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
@media (max-width: 600px) { .ia-grid { grid-template-columns: 1fr; } }

/* ── Issue card ── */
.ia-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 18px;
  display: flex; gap: 14px; align-items: flex-start;
  text-decoration: none; color: inherit;
  transition: box-shadow .18s, border-color .18s, transform .18s;
  cursor: pointer;
}
.ia-card:hover {
  box-shadow: 0 6px 24px rgba(0,59,68,.12);
  border-color: rgba(0,59,68,.25);
  transform: translateY(-2px);
}

/* Card left thumb */
.ia-card__thumb {
  width: 56px; flex-shrink: 0;
  background: linear-gradient(135deg, #003b44 0%, #005f70 100%);
  border-radius: 8px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 3px; padding: 10px 6px;
  color: rgba(255,255,255,.9);
  min-height: 72px;
}
.ia-card__vol {
  font-size: .6rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em;
  color: rgba(255,255,255,.65);
  text-align: center; line-height: 1.2;
}
.ia-card__num {
  font-size: .68rem; font-weight: 700;
  color: rgba(255,255,255,.7);
}

/* Card body */
.ia-card__body { flex: 1; min-width: 0; }

.ia-card__label {
  font-size: .95rem; font-weight: 800;
  color: var(--dark); margin-bottom: 3px;
  line-height: 1.3;
}
.ia-card:hover .ia-card__label { color: var(--brand); }

.ia-card__title {
  font-size: .78rem; color: var(--muted);
  margin-bottom: 5px; line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 1;
  -webkit-box-orient: vertical; overflow: hidden;
}

.ia-card__date {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .72rem; color: var(--muted);
  margin-bottom: 10px;
}

.ia-card__footer {
  display: flex; align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.ia-card__art-count {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: .72rem; color: var(--muted);
  background: #f1f5f9; border-radius: 999px;
  padding: 2px 9px;
}

.ia-card__cta {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: .75rem; font-weight: 700;
  color: var(--brand);
  transition: gap .15s;
}
.ia-card:hover .ia-card__cta { gap: 6px; }

/* =============================================================================
   MOBILE TOC BAR — ar-mobile-toc-*
   Sticky bar at top on mobile (<992px), hidden on desktop
   Image-exact: "Contents" label + dropdown select
   ============================================================================= */

/* Hidden on desktop by default */
.ar-mobile-toc {
  display: none;
}

/* Show only on mobile */
@media (max-width: 991.98px) {
  .ar-mobile-toc {
    display: block !important;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 64px; /* fallback — JS sets exact value via style.top */
    z-index: 200 !important;
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    width: 100%;
  }

  .ar-mobile-toc__inner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    max-width: 1200px;
    margin: 0 auto;
  }

  .ar-mobile-toc__label {
    font-size: .82rem;
    font-weight: 700;
    color: var(--muted);
    white-space: nowrap;
    flex-shrink: 0;
  }

  .ar-mobile-toc__select {
    flex: 1;
    padding: 6px 10px;
    font-size: .88rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    color: var(--dark);
    outline: none;
    cursor: pointer;
    font-family: inherit;
    -webkit-appearance: auto;
    appearance: auto;
  }
  .ar-mobile-toc__select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 2px rgba(0,59,68,.1);
  }

  /* Hide desktop left TOC on mobile */
  .ar-toc-col {
    display: none !important;
  }

  /* Full width grid on mobile */
  .ar-grid {
    grid-template-columns: 1fr !important;
  }

  /* Sidebar below article on mobile */
  .ar-sidebar {
    order: 2;
    position: static !important;
  }

  /* Article body full width */
  .ar-main {
    order: 1;
  }

  /* Header actions wrap nicely */
  .ar-header-actions {
    flex-wrap: wrap;
    gap: 6px;
  }

  /* Breadcrumb title full width on mobile */
  .ar-crumb-title {
    max-width: 180px;
  }

  /* Scroll margin = header (~66px) + mobile TOC bar (~46px) + gap */
  .ar-article-body h1,
  .ar-article-body h2,
  .ar-article-body h3 {
    scroll-margin-top: 120px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   AUTHOR PROFILE PAGE  (.ap-*)
   ══════════════════════════════════════════════════════════ */

.ap-page         { background: #f5f6f8; min-height: 60vh; padding: 40px 0 64px; }
.ap-container    { max-width: 1000px; margin: 0 auto; padding: 0 20px; }

/* ── Hero Card ── */
.ap-hero {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 32px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
  align-items: flex-start;
  margin-bottom: 24px;
  box-shadow: var(--sh-sm);
}
@media (max-width: 768px) {
  .ap-hero { grid-template-columns: 1fr; }
}

/* Avatar */
.ap-avatar {
  width: 88px; height: 88px;
  border-radius: 50%;
  background: var(--brand);
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(0,59,68,.2);
  border: 3px solid #fff;
  outline: 2px solid var(--brand);
}
.ap-avatar__img      { width: 100%; height: 100%; object-fit: cover; }
.ap-avatar__initials { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 28px; font-weight: 800; font-family: var(--font-serif); }

/* Info */
.ap-info__kicker   { font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--brand); background: rgba(0,59,68,.07); display: inline-block; padding: 2px 10px; border-radius: 4px; margin-bottom: 8px; }
.ap-info__name     { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 700; color: #0f172a; margin: 0 0 6px; line-height: 1.2; }
.ap-info__aff      { font-size: .85rem; color: var(--muted); margin-bottom: 4px; display: flex; align-items: center; gap: 5px; }
.ap-info__country  { font-size: .82rem; color: var(--muted); margin-bottom: 8px; }
.ap-info__bio      { font-size: .88rem; color: #374151; line-height: 1.65; margin: 10px 0 0; max-width: 560px; }

/* Badges */
.ap-badges   { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.ap-badge    { display: inline-flex; align-items: center; gap: 4px; font-size: .72rem; font-weight: 700; padding: 3px 10px; border-radius: 20px; text-decoration: none; transition: opacity .15s; }
.ap-badge:hover { opacity: .85; }
.ap-badge--orcid    { background: #a6ce39; color: #fff; }
.ap-badge--scopus   { background: #e87722; color: #fff; }
.ap-badge--scholar  { background: #4285f4; color: #fff; }
.ap-badge--verified { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; }

/* Claim */
.ap-claim        { margin-top: 14px; padding: 12px 16px; background: #fefce8; border: 1px solid #fde047; border-radius: 10px; }
.ap-claim__text  { font-size: .82rem; color: #713f12; margin-bottom: 8px; }
.ap-claim__btn   { font-size: .8rem; padding: 5px 14px; background: var(--brand); color: #fff; border-radius: var(--r-sm); text-decoration: none; font-weight: 600; display: inline-block; transition: opacity .15s; }
.ap-claim__btn:hover { opacity: .85; }

/* Stats column */
.ap-stats        { display: flex; flex-direction: column; gap: 8px; min-width: 110px; }
@media (max-width: 768px) { .ap-stats { flex-direction: row; flex-wrap: wrap; } }
.ap-stat         { background: #f8fafc; border: 1px solid var(--line); border-radius: var(--r-sm); padding: 12px 16px; text-align: center; min-width: 90px; }
.ap-stat--primary { background: var(--brand); border-color: var(--brand); }
.ap-stat--primary .ap-stat__val   { color: #fff; }
.ap-stat--primary .ap-stat__label { color: rgba(255,255,255,.75); }
.ap-stat__val    { font-size: 1.4rem; font-weight: 800; color: var(--brand); line-height: 1; }
.ap-stat__label  { font-size: .68rem; color: var(--muted); margin-top: 3px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }

/* ── Analytics Section ── */
.ap-analytics          { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
@media (max-width: 600px) { .ap-analytics { grid-template-columns: 1fr; } }
.ap-analytics__chart   { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 20px 24px; box-shadow: var(--sh-sm); }
.ap-section-title      { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--brand); margin-bottom: 16px; }

/* Bar chart */
.ap-bars   { display: flex; flex-direction: column; gap: 12px; }
.ap-bar    { display: flex; flex-direction: column; gap: 4px; }
.ap-bar__label  { display: flex; justify-content: space-between; font-size: .75rem; color: #475569; }
.ap-bar__val    { font-weight: 700; color: #0f172a; }
.ap-bar__track  { height: 8px; background: #f1f5f9; border-radius: 99px; overflow: hidden; }
.ap-bar__fill   { height: 100%; border-radius: 99px; transition: width .6s cubic-bezier(.4,0,.2,1); }

/* Year chart */
.ap-ychart           { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 20px 24px; box-shadow: var(--sh-sm); }
.ap-ychart__title    { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--brand); margin-bottom: 16px; }
.ap-ychart__bars     { display: flex; align-items: flex-end; gap: 6px; height: 80px; }
.ap-ychart__col      { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1; height: 100%; }
.ap-ychart__bar-wrap { flex: 1; width: 100%; display: flex; align-items: flex-end; }
.ap-ychart__bar      { width: 100%; background: var(--brand); border-radius: 4px 4px 0 0; min-height: 4px; transition: height .5s ease; opacity: .8; }
.ap-ychart__bar:hover { opacity: 1; }
.ap-ychart__year     { font-size: .65rem; color: var(--muted); font-weight: 600; }

/* ── Publications ── */
.ap-pubs              { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 24px; box-shadow: var(--sh-sm); }
.ap-pubs__header      { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.ap-pubs__controls    { display: flex; gap: 8px; flex-wrap: wrap; }
.ap-search            { padding: 7px 12px; font-size: .82rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: #f8fafc; color: #0f172a; outline: none; min-width: 180px; }
.ap-search:focus      { border-color: var(--brand); background: #fff; }
.ap-sort              { padding: 7px 10px; font-size: .82rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: #f8fafc; color: #374151; outline: none; cursor: pointer; }
.ap-empty             { text-align: center; padding: 40px; color: var(--muted); font-size: .9rem; }

/* Pub card */
.ap-pub           { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.ap-pub:last-child { border-bottom: none; padding-bottom: 0; }
.ap-pub__num      { font-size: .8rem; font-weight: 800; color: var(--muted); min-width: 24px; margin-top: 2px; }
.ap-pub__body     { flex: 1; min-width: 0; }
.ap-pub__title    { font-size: .95rem; font-weight: 600; color: var(--brand); text-decoration: none; line-height: 1.45; display: block; margin-bottom: 6px; }
.ap-pub__title:hover { text-decoration: underline; }
.ap-pub__meta     { display: flex; flex-wrap: wrap; gap: 8px; font-size: .75rem; color: var(--muted); margin-bottom: 6px; }
.ap-pub__journal  { font-weight: 600; color: #475569; }
.ap-pub__doi      { color: var(--accent); text-decoration: none; font-weight: 600; }
.ap-pub__doi:hover { text-decoration: underline; }
.ap-pub__counts   { display: flex; flex-wrap: wrap; gap: 10px; }
.ap-pub__count    { font-size: .72rem; display: flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 20px; font-weight: 600; }
.ap-pub__count--views { background: rgba(0,59,68,.07); color: var(--brand); }
.ap-pub__count--dl    { background: rgba(14,165,233,.1); color: #0369a1; }
.ap-pub__count--cite  { background: rgba(139,92,246,.1); color: #7c3aed; }

/* Private profile */
.ap-private        { text-align: center; padding: 80px 20px; }
.ap-private__icon  { font-size: 56px; margin-bottom: 16px; }
.ap-private__title { font-size: 1.3rem; font-weight: 700; color: #374151; margin-bottom: 8px; }
.ap-private__desc  { color: var(--muted); font-size: .9rem; }

/* ═══════════════════════════════════════════════════════════════════
   EDITORIAL BOARD — Public page  (eb- prefix)
   app/index.php/[journal]/editorial/EditorialBoardClient.tsx
   ═══════════════════════════════════════════════════════════════════ */

/* ── Page shell ── */
.eb-page { background: #f5f7fa; min-height: 70vh; }

/* ── Hero banner ── */
.eb-hero {
  background: linear-gradient(135deg, var(--brand) 0%, #005060 60%, #00707e 100%);
  padding: 52px 20px 48px;
  position: relative;
  overflow: hidden;
}
.eb-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.eb-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.eb-breadcrumb {
  display: flex; align-items: center; gap: 6px;
  font-size: .75rem; margin-bottom: 20px; flex-wrap: wrap;
}
.eb-breadcrumb__link  { color: rgba(255,255,255,.7); text-decoration: none; transition: color .15s; }
.eb-breadcrumb__link:hover { color: #fff; }
.eb-breadcrumb__sep   { color: rgba(255,255,255,.4); }
.eb-breadcrumb__current { color: rgba(255,255,255,.9); font-weight: 600; }
.eb-hero__kicker {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(255,255,255,.85); background: rgba(255,255,255,.12);
  padding: 4px 12px; border-radius: 20px; margin-bottom: 14px;
}
.eb-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3.5vw, 2.4rem);
  font-weight: 800; color: #fff; margin: 0 0 12px;
  line-height: 1.2; letter-spacing: -.02em;
}
.eb-hero__sub {
  font-size: .9rem; color: rgba(255,255,255,.78);
  max-width: 620px; line-height: 1.65; margin: 0 0 28px;
}
.eb-hero__stats {
  display: flex; gap: 20px; flex-wrap: wrap;
}
.eb-hero__stat {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px; padding: 10px 20px;
  text-align: center; min-width: 80px;
}
.eb-hero__stat-num   { display: block; font-size: 1.35rem; font-weight: 800; color: #fff; line-height: 1; }
.eb-hero__stat-label { display: block; font-size: .65rem; color: rgba(255,255,255,.7); margin-top: 3px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }

/* ── Main content ── */
.eb-main { max-width: 1200px; margin: 0 auto; padding: 40px 20px 70px; }

/* ── Section heading ── */
.eb-section { margin-bottom: 48px; }
.eb-section__head {
  display: flex; align-items: center; gap: 10px;
  padding-bottom: 12px; margin-bottom: 20px;
  border-bottom: 2px solid var(--brand);
}
.eb-section__icon  { font-size: 1.1rem; line-height: 1; }
.eb-section__title {
  font-family: var(--font-serif);
  font-size: 1.1rem; font-weight: 800;
  color: var(--brand); margin: 0; flex: 1;
}
.eb-section__count {
  background: var(--brand); color: #fff;
  font-size: .68rem; font-weight: 800;
  padding: 2px 9px; border-radius: 20px;
  letter-spacing: .04em;
}

/* ── EIC spotlight cards ── */
.eb-eic-grid { display: grid; gap: 16px; }
@media(min-width:700px) { .eb-eic-grid { grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); } }
.eb-eic-card {
  background: #fff;
  border: 2px solid var(--brand);
  border-radius: 14px;
  padding: 22px 24px;
  display: flex;
  gap: 18px;
  box-shadow: 0 4px 20px rgba(0,59,68,.1);
  transition: box-shadow .2s, transform .2s;
}
.eb-eic-card:hover { box-shadow: 0 8px 30px rgba(0,59,68,.15); transform: translateY(-2px); }
.eb-eic-avatar {
  width: 70px; height: 70px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 800; font-size: 1.2rem;
  font-family: var(--font-serif);
  flex-shrink: 0;
  border: 3px solid rgba(255,255,255,.3);
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
.eb-eic-card__info  { flex: 1; min-width: 0; }
.eb-eic-card__name  { font-family: var(--font-serif); font-size: 1.05rem; font-weight: 700; color: #0f172a; margin-bottom: 6px; }
.eb-eic-card__aff   { font-size: .8rem; color: var(--muted); margin-top: 6px; display: flex; align-items: flex-start; gap: 4px; line-height: 1.4; }
.eb-eic-card__bio   { font-size: .83rem; color: #374151; line-height: 1.6; margin: 10px 0 0; }

/* ── Controls bar ── */
.eb-controls {
  display: flex; flex-direction: column; gap: 12px;
  margin-bottom: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 2px 8px rgba(2,6,23,.04);
}
.eb-search-wrap {
  position: relative; display: flex; align-items: center;
}
.eb-search-icon { position: absolute; left: 12px; color: var(--muted); flex-shrink: 0; }
.eb-search {
  width: 100%; padding: 9px 36px 9px 36px;
  border: 1.5px solid var(--line); border-radius: 10px;
  font-size: .875rem; font-family: var(--font);
  background: #f9fafb; color: var(--dark);
  outline: none; transition: border-color .2s, box-shadow .2s, background .2s;
}
.eb-search:focus { border-color: var(--brand); background: #fff; box-shadow: 0 0 0 3px rgba(0,59,68,.1); }
.eb-search::-webkit-search-cancel-button { display: none; }
.eb-search-clear {
  position: absolute; right: 10px;
  background: none; border: none; cursor: pointer;
  color: var(--muted); font-size: .8rem;
  width: 22px; height: 22px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  transition: background .15s, color .15s;
}
.eb-search-clear:hover { background: #f1f5f9; color: var(--dark); }

.eb-filters {
  display: flex; flex-wrap: wrap; gap: 6px;
  align-items: center;
}
.eb-filter-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 12px; border-radius: 20px;
  font-size: .75rem; font-weight: 600; font-family: var(--font);
  border: 1.5px solid var(--line); background: #fff;
  color: #475569; cursor: pointer;
  transition: all .15s; white-space: nowrap;
}
.eb-filter-btn:hover { border-color: var(--brand); color: var(--brand); background: rgba(0,59,68,.04); }
.eb-filter-btn--active { background: var(--brand); border-color: var(--brand); color: #fff; }
.eb-filter-btn--active:hover { background: #004f5c; border-color: #004f5c; color: #fff; }
.eb-filter-cnt {
  background: rgba(255,255,255,.25);
  padding: 0px 6px; border-radius: 10px;
  font-size: .65rem; font-weight: 800;
}
.eb-filter-btn:not(.eb-filter-btn--active) .eb-filter-cnt { background: rgba(0,59,68,.1); color: var(--brand); }

/* ── Results info ── */
.eb-results-info {
  font-size: .8rem; color: var(--muted); font-weight: 500;
  margin-bottom: 16px; padding: 6px 2px;
}

/* ── Member card grid ── */
.eb-grid {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* ── Member card ── */
.eb-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 18px;
  transition: box-shadow .2s, transform .2s, border-color .2s;
}
.eb-card:hover { box-shadow: 0 4px 20px rgba(0,59,68,.1); transform: translateY(-2px); border-color: rgba(0,59,68,.18); }
.eb-card__top { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 10px; }
.eb-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 800; font-size: .85rem;
  font-family: var(--font-serif);
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.eb-card__info  { flex: 1; min-width: 0; }
.eb-card__name  { font-weight: 700; font-size: .9rem; color: #0f172a; margin-bottom: 4px; line-height: 1.3; }
.eb-card__aff   { font-size: .75rem; color: var(--muted); margin-top: 5px; display: flex; align-items: flex-start; gap: 4px; line-height: 1.4; }

/* ── Role badges ── */
.eb-badge {
  display: inline-block;
  font-size: .65rem; font-weight: 800; letter-spacing: .04em;
  padding: 2px 8px; border-radius: 20px;
  white-space: nowrap; text-transform: uppercase;
}
.eb-badge--eic  { background: #fff3e0; color: #e65100; border: 1px solid #ffcc80; }
.eb-badge--ae   { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.eb-badge--se   { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
.eb-badge--me   { background: #f3e5f5; color: #6a1b9a; border: 1px solid #ce93d8; }
.eb-badge--ge   { background: #fce4ec; color: #880e4f; border: 1px solid #f48fb1; }
.eb-badge--ebm  { background: rgba(0,59,68,.08); color: var(--brand); border: 1px solid rgba(0,59,68,.2); }
.eb-badge--abm  { background: #e0f7fa; color: #006064; border: 1px solid #80deea; }

/* ── ID links ── */
.eb-ids { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.eb-id {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: .68rem; font-weight: 700;
  padding: 2px 8px; border-radius: 20px;
  text-decoration: none; transition: opacity .15s;
}
.eb-id:hover { opacity: .8; }
.eb-id--orcid   { background: #a6ce39; color: #fff; }
.eb-id--scopus  { background: #e87722; color: #fff; }
.eb-id--scholar { background: #4285f4; color: #fff; }

/* ── Bio expand ── */
.eb-card__bio-wrap   { border-top: 1px solid var(--line); padding-top: 10px; margin-top: 2px; }
.eb-card__bio {
  font-size: .8rem; color: #475569; line-height: 1.6;
  margin: 0 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.eb-card__bio--expanded { display: block; -webkit-line-clamp: unset; overflow: visible; }
.eb-card__bio-toggle {
  background: none; border: none; cursor: pointer;
  font-size: .72rem; font-weight: 600; color: var(--brand);
  padding: 0; transition: color .15s;
}
.eb-card__bio-toggle:hover { color: #004f5c; text-decoration: underline; }

/* ── Empty state ── */
.eb-empty {
  text-align: center; padding: 60px 20px;
  color: var(--muted);
}
.eb-empty svg { color: #cbd5e1; margin-bottom: 14px; display: block; margin-left: auto; margin-right: auto; }
.eb-empty p { font-size: .9rem; margin: 0 0 14px; }
.eb-empty-reset {
  padding: 7px 20px; border-radius: 8px;
  background: var(--brand); color: #fff;
  border: none; cursor: pointer;
  font-size: .82rem; font-weight: 600;
  font-family: var(--font);
  transition: opacity .15s;
}
.eb-empty-reset:hover { opacity: .85; }

/* ── Responsive ── */
@media(max-width:600px) {
  .eb-hero { padding: 36px 16px 32px; }
  .eb-hero__stats { gap: 10px; }
  .eb-hero__stat { padding: 8px 14px; }
  .eb-main { padding: 24px 14px 50px; }
  .eb-grid { grid-template-columns: 1fr; }
  .eb-eic-card { flex-direction: column; }
  .eb-controls { padding: 12px 14px; }
  .eb-filters { gap: 4px; }
  .eb-filter-btn { padding: 4px 9px; font-size: .7rem; }
}

/* EIC card ids spacing */
.eb-eic-card .eb-ids { margin-top: 10px; }

/* ══════════════════════════════════════════════════════════════════
   index.php journal pages — extracted from inline styles
   ══════════════════════════════════════════════════════════════════ */

/* ── RegisterClient (rc-) ── */
.rc-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}
.rc-card{background:#fff;border-radius:16px;box-shadow:0 4px 32px rgba(0,0,0,.1);max-width:500px;width:100%;padding:2.5rem 2rem}
.rc-title{font-size:1.3rem;font-weight:800;color:#003b44;margin:0 0 .25rem}
.rc-sub{font-size:.83rem;color:#6b7280;margin:0 0 1.5rem}
.rc-steps{display:flex;gap:8px;margin-bottom:1.5rem}
.rc-step{flex:1;height:4px;border-radius:999px;background:#e5e7eb;transition:background .3s}
.rc-step.on{background:#003b44}
.rc-label{display:block;font-size:.72rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.rc-input{width:100%;padding:10px 13px;border:1.5px solid #e5e7eb;border-radius:9px;font-size:.88rem;outline:none;transition:.15s;box-sizing:border-box}
.rc-input:focus{border-color:#003b44;box-shadow:0 0 0 3px rgba(0,59,68,.08)}
.rc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:400px){.rc-row{grid-template-columns:1fr}}
.rc-pw{position:relative}
.rc-pw-btn{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;font-size:.85rem}
.rc-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.5rem}
.rc-role{border:2px solid #e5e7eb;border-radius:10px;padding:12px;cursor:pointer;background:#fff;text-align:left;transition:.15s}
.rc-role.sel{border-color:#003b44;background:#f0fafb}
.rc-role-t{font-size:.88rem;font-weight:700;color:#003b44;margin:0 0 3px}
.rc-role-d{font-size:.72rem;color:#6b7280;margin:0}
.rc-btn{width:100%;padding:11px;background:#003b44;color:#fff;border:none;border-radius:9px;font-size:.93rem;font-weight:700;cursor:pointer;transition:.15s}
.rc-btn:hover:not(:disabled){background:#004f5e;box-shadow:0 3px 12px rgba(0,59,68,.2)}
.rc-btn:disabled{opacity:.65;cursor:not-allowed}
.rc-back{background:none;border:none;color:#003b44;font-size:.83rem;cursor:pointer;font-weight:600;padding:0;margin-right:auto}
.rc-back:hover{text-decoration:underline}
.rc-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:10px 13px;font-size:.83rem;margin-bottom:1rem}
.rc-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:9px;padding:14px;font-size:.88rem;text-align:center}
.rc-divider{display:flex;align-items:center;gap:10px;color:#9ca3af;font-size:.76rem;margin:1.1rem 0}
.rc-divider::before,.rc-divider::after{content:'';flex:1;height:1px;background:#e5e7eb}
.rc-google{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px;border:1.5px solid #e5e7eb;border-radius:9px;background:#fff;color:#374151;font-size:.88rem;font-weight:600;cursor:pointer;transition:.15s}
.rc-google:hover{background:#f9fafb}
.rc-footer{text-align:center;margin-top:1.25rem;font-size:.83rem;color:#6b7280}
.rc-footer a{color:#003b44;font-weight:700;text-decoration:none}
.rc-footer a:hover{text-decoration:underline}
/* rc- utility helpers */
.rc-text-center{text-align:center}
.rc-mb-sm{margin-bottom:.5rem}
.rc-mb-md{margin-bottom:1rem}
.rc-mb-lg{margin-bottom:1.25rem}
.rc-mb-xl{margin-bottom:1.5rem}
.rc-mt-lg{margin-top:1.5rem}
.rc-mt-md{margin-top:1rem}
.rc-success-icon{text-align:center;margin-bottom:1.5rem;font-size:3rem}
.rc-pw-input{padding-right:40px}
.rc-pw-bar{height:4px;border-radius:999px;background:#e5e7eb}
.rc-pw-bar-inner{height:100%;border-radius:999px;transition:.3s}
.rc-pw-label{font-size:.7rem;font-weight:600}
.rc-pw-nomatch{font-size:.72rem;color:#ef4444;margin-top:4px}
.rc-row-mb{margin-bottom:1rem}
.rc-role-label-mb{margin-bottom:8px}
.rc-back-row{display:flex;align-items:center;gap:10px}

/* ── ForgotClient (fp-) ── */
.fp-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}
.fp-card{background:#fff;border-radius:16px;padding:2.5rem 2rem;max-width:440px;width:100%;box-shadow:0 4px 28px rgba(0,0,0,.09)}
.fp-title{font-size:1.25rem;font-weight:800;color:#003b44;margin:0 0 .4rem}
.fp-sub{font-size:.87rem;color:#6b7280;margin:0 0 1.5rem;line-height:1.6}
.fp-label{display:block;font-size:.72rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.fp-input{width:100%;padding:10px 13px;border:1.5px solid #e5e7eb;border-radius:9px;font-size:.88rem;outline:none;transition:.15s;box-sizing:border-box}
.fp-input:focus{border-color:#003b44;box-shadow:0 0 0 3px rgba(0,59,68,.08)}
.fp-pw{position:relative}
.fp-pw-btn{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;font-size:.85rem;padding:2px}
.fp-btn{width:100%;padding:11px;background:#003b44;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:700;cursor:pointer;transition:.15s;margin-top:1.1rem}
.fp-btn:hover:not(:disabled){background:#004f5e}
.fp-btn:disabled{opacity:.65;cursor:not-allowed}
.fp-ok{background:#d1e7dd;color:#0a3622;border:1px solid #a3cfbb;border-radius:8px;padding:10px 13px;font-size:.84rem;margin-bottom:1rem}
.fp-err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:10px 13px;font-size:.84rem;margin-bottom:1rem}
.fp-back{display:block;text-align:center;margin-top:1.25rem;font-size:.83rem;color:#6b7280}
.fp-back a{color:#003b44;font-weight:700;text-decoration:none}
.fp-back a:hover{text-decoration:underline}
.fp-spinner{width:36px;height:36px;border:3px solid #e5e7eb;border-top-color:#003b44;border-radius:50%;animation:fp-spin .8s linear infinite;margin:0 auto 1rem}
@keyframes fp-spin{to{transform:rotate(360deg)}}
/* fp- utility helpers */
.fp-card--center{text-align:center}
.fp-expired-icon{font-size:2.5rem;margin-bottom:.75rem}
.fp-title--danger{color:#991b1b}
.fp-btn--inline{display:inline-block;text-decoration:none;padding:10px 24px;width:auto}
.fp-mb-md{margin-bottom:1rem}
.fp-pw-pr{padding-right:40px}

/* ── LoginClient (lc-) ── */
.lc-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}
.lc-grid{display:grid;grid-template-columns:1fr 1fr;max-width:860px;width:100%;box-shadow:0 4px 32px rgba(0,0,0,.1);border-radius:16px;overflow:hidden}
@media(max-width:680px){.lc-grid{grid-template-columns:1fr}.lc-hero{display:none}}
.lc-hero{background:linear-gradient(150deg,#003b44 0%,#005a6b 100%);padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.lc-hero::after{content:'';position:absolute;bottom:-80px;left:-60px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}
.lc-hero h2{font-size:1.65rem;font-weight:800;color:#fff;margin:0 0 .85rem;line-height:1.2}
.lc-hero p{font-size:.88rem;color:rgba(255,255,255,.75);line-height:1.75;margin:0 0 2rem}
.lc-hero-tag{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 12px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:1.5rem}
.lc-hero-link{color:rgba(255,255,255,.8);font-size:.84rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:1px;transition:.15s}
.lc-hero-link:hover{color:#fff;border-color:rgba(255,255,255,.6)}
.lc-hero-note{font-size:.84rem;color:rgba(255,255,255,.65)}
.lc-form{background:#fff;padding:2.5rem 2rem}
.lc-title{font-size:1.3rem;font-weight:800;color:#003b44;margin:0 0 1.5rem}
.lc-google{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px;border:1.5px solid #e5e7eb;border-radius:9px;background:#fff;color:#374151;font-size:.88rem;font-weight:600;cursor:pointer;transition:.15s}
.lc-google:hover{background:#f9fafb;border-color:#d1d5db}
.lc-google:disabled{opacity:.6;cursor:not-allowed}
.lc-divider{display:flex;align-items:center;gap:10px;color:#9ca3af;font-size:.76rem;margin:1.1rem 0}
.lc-divider::before,.lc-divider::after{content:'';flex:1;height:1px;background:#e5e7eb}
.lc-label{display:block;font-size:.73rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.lc-input{width:100%;padding:10px 13px;border:1.5px solid #e5e7eb;border-radius:9px;font-size:.88rem;outline:none;transition:.15s;box-sizing:border-box}
.lc-input:focus{border-color:#003b44;box-shadow:0 0 0 3px rgba(0,59,68,.08)}
.lc-pw{position:relative}
.lc-pw-btn{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;font-size:.85rem;padding:2px}
.lc-row{display:flex;justify-content:space-between;align-items:center;margin:.65rem 0 1.1rem}
.lc-forgot{font-size:.8rem;color:#003b44;text-decoration:none;font-weight:600}
.lc-forgot:hover{text-decoration:underline}
.lc-btn{width:100%;padding:11px;background:#003b44;color:#fff;border:none;border-radius:9px;font-size:.93rem;font-weight:700;cursor:pointer;transition:.15s}
.lc-btn:hover:not(:disabled){background:#004f5e;box-shadow:0 3px 12px rgba(0,59,68,.2)}
.lc-btn:disabled{opacity:.65;cursor:not-allowed}
.lc-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:10px 13px;font-size:.83rem;margin-bottom:1rem}
.lc-success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46;border-radius:8px;padding:10px 13px;font-size:.83rem;margin-bottom:1rem;display:flex;align-items:flex-start;gap:8px}
.lc-footer{text-align:center;margin-top:1.25rem;font-size:.83rem;color:#6b7280}
.lc-footer a{color:#003b44;font-weight:700;text-decoration:none}
.lc-footer a:hover{text-decoration:underline}
/* lc- utility helpers */
.lc-pw-input{padding-right:40px}
.lc-mb-md{margin-bottom:1rem}
.lc-mb-sm{margin-bottom:.25rem}
.lc-success-icon{font-size:1rem;flex-shrink:0}

/* ── layout.tsx / journal-layout.tsx body ── */
.journal-body{margin:0;display:flex;flex-direction:column;min-height:100vh;font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
.journal-main{flex:1}
.journal-noscript-iframe{display:none;visibility:hidden}

/* ── EditorialBoardClient (eb-) dynamic hue ── */
.eb-avatar--dynamic{color:#fff;font-weight:800;font-size:.85rem;font-family:var(--font-serif)}
.eb-ids--mt{margin-top:10px}

/* ── ArticleClient ── */
.ac-hidden{display:none}
.ac-muted-sm{color:#6c757d;font-size:.875rem}
.ac-corresponding{font-size:.75rem;color:#166534;background:#dcfce7;display:inline-block;padding:1px 8px;border-radius:20px;margin-bottom:6px}

/* ── JournalHomeClient (jh-) ── */
.jh-sechead--mb{margin-bottom:12px}
.jh-row__meta-icon{margin-right:4px;flex-shrink:0}
.fp-btn--block{display:block;text-decoration:none;text-align:center}
.fp-mb-sm{margin-bottom:.5rem}
.jh-icon--accent{color:#0ea5e9}
.jh-cover-fallback{display:flex;align-items:center;justify-content:center}

/* ══════════════════════════════════════════════════════════════════
   Search page (sr-) — extracted from SearchClient inline styles
   ══════════════════════════════════════════════════════════════════ */
.sr-page{max-width:1200px;margin:0 auto;padding:24px 16px 60px;font-family:'Inter',system-ui,sans-serif}
.sr-hero{background:linear-gradient(135deg,#003b44 0%,#005060 100%);border-radius:16px;padding:32px 28px 28px;margin-bottom:28px}
.sr-hero h1{color:#fff;font-size:1.6rem;font-weight:800;margin:0 0 6px}
.sr-hero p{color:rgba(255,255,255,.7);font-size:.875rem;margin:0 0 20px}
.sr-form{display:flex;gap:8px}
.sr-input{flex:1;border:none;border-radius:10px;padding:11px 16px;font-size:.95rem;outline:none;background:#fff}
.sr-input:focus{box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.sr-btn{background:#f0a500;color:#fff;border:none;border-radius:10px;padding:11px 22px;font-weight:700;cursor:pointer;white-space:nowrap;font-size:.9rem}
.sr-btn:hover{background:#d4910a}
.sr-layout{display:grid;grid-template-columns:230px 1fr;gap:20px;align-items:start}
@media(max-width:768px){.sr-layout{grid-template-columns:1fr}}
.sr-sidebar{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:16px;position:sticky;top:120px}
.sr-sidebar h3{font-size:.8rem;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}
.sr-filter-group{margin-bottom:16px}
.sr-filter-label{display:block;font-size:.8rem;font-weight:600;color:#495057;margin-bottom:6px}
.sr-select{width:100%;border:1px solid #dee2e6;border-radius:8px;padding:7px 10px;font-size:.83rem;outline:none;background:#fff;cursor:pointer}
.sr-select:focus{border-color:#003b44}
.sr-clear{background:none;border:1px solid #dee2e6;border-radius:8px;padding:7px 14px;font-size:.8rem;color:#6c757d;cursor:pointer;width:100%;margin-top:4px}
.sr-clear:hover{background:#f8f9fa;color:#212529}
.sr-main{}
.sr-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sr-count{font-size:.9rem;color:#495057}
.sr-count strong{color:#212529}
.sr-sort-wrap{display:flex;align-items:center;gap:8px;font-size:.83rem;color:#6c757d}
.sr-sort{border:1px solid #dee2e6;border-radius:8px;padding:6px 10px;font-size:.83rem;outline:none;background:#fff;cursor:pointer}
.sr-list{display:flex;flex-direction:column;gap:14px}
.sr-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:18px 20px;transition:box-shadow .15s}
.sr-card:hover{box-shadow:0 4px 16px rgba(0,59,68,.08);border-color:#c8d0d8}
.sr-card-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.sr-rank{width:28px;height:28px;border-radius:50%;background:#f0f4f8;color:#6c757d;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.sr-title{font-size:.95rem;font-weight:700;color:#003b44;text-decoration:none;line-height:1.4}
.sr-title:hover{text-decoration:underline}
.sr-section-tag{display:inline-block;font-size:.7rem;font-weight:600;background:#e8f4f8;color:#0077a0;border-radius:999px;padding:2px 9px;margin:6px 0 4px}
.sr-authors{font-size:.8rem;color:#495057;margin-bottom:4px}
.sr-authors a{color:#003b44;font-weight:600;text-decoration:none}
.sr-authors a:hover{text-decoration:underline}
.sr-abstract{font-size:.8rem;color:#6c757d;line-height:1.55;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sr-keywords{font-size:.75rem;color:#868e96;margin-bottom:10px}
.sr-keywords span{background:#f8f9fa;border-radius:4px;padding:1px 6px;margin-right:4px}
.sr-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.75rem;color:#868e96;border-top:1px solid #f0f0f0;padding-top:8px}
.sr-meta-doi{color:#003b44;font-weight:500;text-decoration:none}
.sr-meta-doi:hover{text-decoration:underline}
.sr-badge{display:inline-flex;align-items:center;gap:3px;background:#f8f9fa;border-radius:6px;padding:2px 7px}
.sr-badge--views{color:#0077a0}
.sr-badge--dl{color:#1b5e20}
.sr-badge--cite{color:#5c35a0}
.sr-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px dashed #dee2e6}
.sr-empty h3{color:#495057;margin:12px 0 6px}
.sr-empty p{color:#868e96;font-size:.875rem}
.sr-pagination{display:flex;justify-content:center;gap:6px;margin-top:28px;flex-wrap:wrap}
.sr-pg-btn{border:1px solid #dee2e6;background:#fff;border-radius:8px;padding:7px 13px;font-size:.83rem;cursor:pointer;color:#212529;transition:all .12s}
.sr-pg-btn:hover:not(:disabled){background:#003b44;color:#fff;border-color:#003b44}
.sr-pg-btn--active{background:#003b44;color:#fff;border-color:#003b44;font-weight:700}
.sr-pg-btn:disabled{opacity:.4;cursor:default}
.sr-loading{opacity:.5;pointer-events:none}
/* sr- utility helpers */
.sr-card-body{flex:1;min-width:0}
.sr-author-name{color:#003b44;font-weight:600}
.sr-author-more{color:#868e96}
.sr-empty-icon{font-size:2.5rem}
.sr-highlight{background:#fff3cd;padding:0 2px;border-radius:2px}


/* =============================================================================
   PUBLISHER MAIN SITE HOMEPAGE  —  app/page.tsx
   Prefix: ms- (main site)
   Design: Premium academic publisher — Elsevier/Springer/Wiley inspired
   Fonts: Spectral (headings) + DM Sans (body) — same as journal pages
   ============================================================================= */

/* ── Hero ── */
.ms-hero {
  background: linear-gradient(160deg, #040d14 0%, #0b1f2a 40%, #003b44 100%);
  position: relative; overflow: hidden; padding: 80px 0 90px;
}
.ms-hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 60% at 80% 40%, rgba(14,165,233,.09) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 10% 80%, rgba(0,59,68,.4) 0%, transparent 60%);
}
.ms-hero::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, #1d4ed8, #0ea5e9, #6366f1, #0d9488, #1d4ed8);
  background-size: 200% 100%; animation: msLine 4s linear infinite;
}
@keyframes msLine { 0%{background-position:0 0} 100%{background-position:200% 0} }

.ms-hero__inner {
  max-width: var(--container); margin: 0 auto; padding: 0 20px;
  display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: center;
  position: relative; z-index: 1;
}
.ms-hero__kicker {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px; padding: 5px 16px;
  font-size: .7rem; font-weight: 700; color: #7dd3d8;
  letter-spacing: .1em; text-transform: uppercase;
  margin-bottom: 22px; font-family: var(--font);
}
.ms-hero__h1 {
  font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; line-height: 1.12;
  color: #fff; margin: 0 0 20px; letter-spacing: -.025em;
  font-family: var(--font-serif);
}
.ms-hero__h1 em { color: #5eead4; font-style: normal; }
.ms-hero__desc {
  font-size: .975rem; color: rgba(255,255,255,.7); line-height: 1.72;
  margin: 0 0 32px; max-width: 500px; font-family: var(--font);
}
.ms-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ms-btn-primary {
  display: inline-flex; align-items: center; gap: 6px;
  background: #0ea5e9; color: #fff; text-decoration: none;
  border-radius: var(--r); padding: 12px 26px;
  font-size: .88rem; font-weight: 700; font-family: var(--font);
  box-shadow: 0 4px 18px rgba(14,165,233,.35);
  transition: all .2s;
}
.ms-btn-primary:hover { background: #0284c7; color: #fff; transform: translateY(-1px); }
.ms-btn-ghost {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.1); color: #fff; text-decoration: none;
  border: 1px solid rgba(255,255,255,.25); border-radius: var(--r);
  padding: 12px 26px; font-size: .88rem; font-weight: 600;
  font-family: var(--font); transition: all .2s;
}
.ms-btn-ghost:hover { background: rgba(255,255,255,.18); color: #fff; }

/* Stats panel */
.ms-stats {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-lg); padding: 28px 24px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
  backdrop-filter: blur(8px);
}
.ms-stat {
  padding: 20px 18px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ms-stat:nth-child(2n) { border-right: none; }
.ms-stat:nth-child(3), .ms-stat:nth-child(4) { border-bottom: none; }
.ms-stat__n {
  font-size: 2rem; font-weight: 900; color: #5eead4; line-height: 1;
  font-family: var(--font-serif); display: block;
}
.ms-stat__l {
  font-size: .68rem; color: rgba(255,255,255,.5); margin-top: 5px;
  text-transform: uppercase; letter-spacing: .07em; font-family: var(--font);
  display: block;
}

/* ── Sections ── */
.ms-sec { padding: 72px 0; }
.ms-sec--alt { background: #f8fafc; }
.ms-sec--dark { background: linear-gradient(160deg, #040d14, #0b1f2a); color: #fff; }
.ms-sec__inner { max-width: var(--container); margin: 0 auto; padding: 0 20px; }
.ms-sec__hd { text-align: center; margin-bottom: 48px; }
.ms-sec__hd h2 {
  font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: var(--dark);
  margin: 0 0 10px; letter-spacing: -.02em; font-family: var(--font-serif);
}
.ms-sec--dark .ms-sec__hd h2 { color: #fff; }
.ms-sec__hd p {
  font-size: .95rem; color: var(--muted); max-width: 520px; margin: 0 auto;
  line-height: 1.68; font-family: var(--font);
}
.ms-sec--dark .ms-sec__hd p { color: rgba(255,255,255,.6); }
.ms-sec__eyebrow {
  display: inline-block; font-size: .68rem; font-weight: 800;
  color: var(--brand); text-transform: uppercase; letter-spacing: .12em;
  margin-bottom: 10px; font-family: var(--font);
}
.ms-sec--dark .ms-sec__eyebrow { color: #5eead4; }

/* ── Journal cards ── */
.ms-jgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: 22px; }
.ms-jcard {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  overflow: hidden; display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  box-shadow: var(--sh-sm); transition: transform .22s, box-shadow .22s;
}
.ms-jcard:hover { transform: translateY(-5px); box-shadow: var(--sh-lg); }
.ms-jcard__stripe { height: 4px; background: linear-gradient(90deg, var(--brand), #0ea5e9); }
.ms-jcard__body { padding: 22px 22px 16px; flex: 1; }
.ms-jcard__badge {
  width: 46px; height: 46px; border-radius: 12px;
  background: linear-gradient(135deg, var(--brand), #005060);
  color: #fff; font-size: .95rem; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px; font-family: var(--font); letter-spacing: .01em;
  box-shadow: 0 4px 14px rgba(0,59,68,.25);
}
.ms-jcard__title {
  font-size: .95rem; font-weight: 800; color: var(--dark);
  margin: 0 0 8px; line-height: 1.4; font-family: var(--font-serif);
}
.ms-jcard__desc {
  font-size: .8rem; color: var(--muted); line-height: 1.62; margin: 0 0 14px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; font-family: var(--font);
}
.ms-jcard__tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 14px; }
.ms-tag {
  display: inline-flex; align-items: center; gap: 4px;
  border-radius: 999px; padding: 2px 9px;
  font-size: .68rem; font-weight: 700; font-family: var(--font);
}
.ms-tag--issn { background: #e0f2fe; color: #0369a1; }
.ms-tag--oa   { background: #dcfce7; color: #166534; }
.ms-tag--idx  { background: #fef9c3; color: #854d0e; }
.ms-jcard__ft {
  padding: 13px 22px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; align-items: center;
  background: #fafbfc;
}
.ms-jcard__stat {
  font-size: .75rem; color: var(--muted); font-family: var(--font);
}
.ms-jcard__stat strong { color: var(--dark); font-weight: 700; }
.ms-jcard__cta {
  font-size: .78rem; font-weight: 700; color: var(--brand);
  text-decoration: none; display: inline-flex; align-items: center; gap: 3px;
  font-family: var(--font);
}
.ms-jcard__cta:hover { color: #0ea5e9; }

/* ── Latest articles grid ── */
.ms-artgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px,1fr)); gap: 18px; }
.ms-artcard {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  padding: 18px 20px; display: flex; flex-direction: column; gap: 8px;
  box-shadow: var(--sh-sm); transition: box-shadow .18s;
}
.ms-artcard:hover { box-shadow: var(--sh-md); }
.ms-artcard__jname {
  font-size: .68rem; font-weight: 800; color: #0ea5e9;
  text-transform: uppercase; letter-spacing: .07em; font-family: var(--font);
}
.ms-artcard__title {
  font-size: .875rem; font-weight: 700; color: var(--dark); line-height: 1.42;
  text-decoration: none; font-family: var(--font);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ms-artcard__title:hover { color: var(--brand); }
.ms-artcard__authors { font-size: .78rem; color: var(--muted); font-family: var(--font); }
.ms-artcard__meta {
  display: flex; gap: 10px; font-size: .72rem; color: #9ca3af; font-family: var(--font);
}

/* ── Features grid ── */
.ms-featgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px,1fr)); gap: 18px; }
.ms-featcard {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 26px 22px; box-shadow: var(--sh-sm);
  transition: transform .18s, box-shadow .18s;
}
.ms-featcard:hover { transform: translateY(-3px); box-shadow: var(--sh-md); }
.ms-featcard__icon { font-size: 1.8rem; margin-bottom: 12px; display: block; }
.ms-featcard__title {
  font-size: .92rem; font-weight: 800; color: var(--dark);
  margin: 0 0 7px; font-family: var(--font);
}
.ms-featcard__text {
  font-size: .8rem; color: var(--muted); line-height: 1.62; margin: 0;
  font-family: var(--font);
}

/* ── Why us (dark section) ── */
.ms-why { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 840px; margin: 0 auto; }
.ms-why__item { display: flex; gap: 14px; align-items: flex-start; }
.ms-why__icon {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  background: rgba(14,165,233,.15); border: 1px solid rgba(14,165,233,.2);
  display: flex; align-items: center; justify-content: center; font-size: 1.2rem;
}
.ms-why__h { font-size: .9rem; font-weight: 800; color: #f1f5f9; margin: 0 0 5px; font-family: var(--font); }
.ms-why__p { font-size: .8rem; color: rgba(255,255,255,.55); line-height: 1.6; margin: 0; font-family: var(--font); }

/* ── CTA strip ── */
.ms-cta {
  background: linear-gradient(135deg, var(--brand), #0ea5e9);
  padding: 68px 20px; text-align: center;
}
.ms-cta__h2 {
  font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 900; color: #fff;
  margin: 0 0 12px; font-family: var(--font-serif);
}
.ms-cta__p {
  font-size: .95rem; color: rgba(255,255,255,.8); line-height: 1.65;
  margin: 0 auto 30px; max-width: 480px; font-family: var(--font);
}
.ms-cta__btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.ms-btn-white {
  display: inline-flex; align-items: center; gap: 6px;
  background: #fff; color: var(--brand); text-decoration: none;
  border-radius: var(--r); padding: 12px 28px;
  font-size: .88rem; font-weight: 800; font-family: var(--font);
  box-shadow: 0 4px 20px rgba(0,0,0,.15); transition: all .2s;
}
.ms-btn-white:hover { background: #f0f9ff; color: var(--brand); transform: translateY(-1px); }
.ms-btn-outline {
  display: inline-flex; align-items: center; gap: 6px;
  background: transparent; color: #fff; text-decoration: none;
  border: 2px solid rgba(255,255,255,.4); border-radius: var(--r);
  padding: 12px 28px; font-size: .88rem; font-weight: 700;
  font-family: var(--font); transition: all .2s;
}
.ms-btn-outline:hover { background: rgba(255,255,255,.12); color: #fff; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .ms-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .ms-stats { max-width: 380px; }
  .ms-why { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ms-hero { padding: 56px 0 64px; }
  .ms-stats { grid-template-columns: 1fr 1fr; max-width: 100%; }
  .ms-sec { padding: 52px 0; }
}


/* =============================================================================
   MAIN SITE SEARCH  —  app/search/
   Prefix: ms-search-
   ============================================================================= */

.ms-search { min-height: 80vh; }

/* Hero */
.ms-search__hero {
  background: linear-gradient(160deg, #040d14 0%, #0b1f2a 50%, #003b44 100%);
  padding: 52px 0 44px; position: relative;
}
.ms-search__hero::after {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,#1d4ed8,#0ea5e9,#0d9488,#1d4ed8);
  background-size:200% 100%; animation:msLine 4s linear infinite;
}
.ms-search__hero-inner { max-width:760px; margin:0 auto; padding:0 20px; }
.ms-search__eyebrow {
  font-size:.68rem; font-weight:800; color:#5eead4;
  text-transform:uppercase; letter-spacing:.12em; margin-bottom:8px;
  font-family:var(--font);
}
.ms-search__h1 {
  font-size:clamp(1.6rem,4vw,2.4rem); font-weight:900; color:#fff;
  margin:0 0 8px; font-family:var(--font-serif);
}
.ms-search__desc { font-size:.88rem; color:rgba(255,255,255,.6); margin:0 0 28px; font-family:var(--font); }

/* Search box */
.ms-search__box {
  display:flex; align-items:center; gap:10px;
  background:#fff; border-radius:var(--r-lg); padding:10px 16px;
  box-shadow:0 8px 32px rgba(0,0,0,.25); margin-bottom:16px;
}
.ms-search__icon { font-size:1.1rem; flex-shrink:0; color:var(--muted); }
.ms-search__input {
  flex:1; border:none; outline:none; font-size:1rem; font-weight:500;
  color:var(--dark); background:transparent; font-family:var(--font);
  min-width:0;
}
.ms-search__input::placeholder { color:#adb5bd; font-weight:400; }
.ms-search__spinner {
  width:18px; height:18px; border:2px solid #e2e8f0;
  border-top-color:var(--brand); border-radius:50%;
  animation:msSpin .7s linear infinite; flex-shrink:0;
}
@keyframes msSpin { to { transform:rotate(360deg); } }
.ms-search__clear {
  background:none; border:none; cursor:pointer; color:var(--muted);
  font-size:1rem; padding:0 4px; line-height:1; flex-shrink:0;
  transition:color .15s;
}
.ms-search__clear:hover { color:var(--dark); }

/* Filters */
.ms-search__filters { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.ms-search__sel {
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  border-radius:var(--r); padding:7px 12px; font-size:.82rem;
  color:#fff; outline:none; cursor:pointer; font-family:var(--font);
  transition:border-color .15s;
}
.ms-search__sel:hover { border-color:rgba(255,255,255,.4); }
.ms-search__sel option { color:var(--dark); background:#fff; }
.ms-search__reset {
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  border-radius:var(--r); padding:7px 14px; font-size:.78rem;
  color:rgba(255,255,255,.7); cursor:pointer; font-weight:600;
  font-family:var(--font); transition:all .15s;
}
.ms-search__reset:hover { background:rgba(255,255,255,.2); color:#fff; }

/* Body */
.ms-search__body { padding:40px 0 60px; background:#f8fafc; min-height:400px; }
.ms-search__body-inner { max-width:760px; margin:0 auto; padding:0 20px; }

/* Count */
.ms-search__count {
  font-size:.88rem; color:var(--muted); margin-bottom:24px;
  padding-bottom:16px; border-bottom:1px solid var(--line);
  font-family:var(--font);
}
.ms-search__count strong { color:var(--dark); }
.ms-search__count em { color:var(--brand); font-style:normal; font-weight:600; }

/* Results list */
.ms-search__list { display:flex; flex-direction:column; gap:0; }

/* Result item */
.ms-search__item {
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:20px 22px; margin-bottom:12px; transition:box-shadow .18s;
}
.ms-search__item:hover { box-shadow:var(--sh-md); }
.ms-search__item-jname {
  display:flex; align-items:center; gap:8px; margin-bottom:7px;
}
.ms-search__item-jlink {
  font-size:.68rem; font-weight:800; color:#0ea5e9;
  text-transform:uppercase; letter-spacing:.06em;
  text-decoration:none; font-family:var(--font);
}
.ms-search__item-jlink:hover { text-decoration:underline; }
.ms-search__item-sec {
  font-size:.68rem; color:var(--muted); background:#f1f5f9;
  padding:1px 8px; border-radius:4px; font-family:var(--font);
}
.ms-search__item-title {
  display:block; font-size:.975rem; font-weight:800; color:var(--dark);
  text-decoration:none; line-height:1.4; margin-bottom:6px;
  font-family:var(--font-serif);
}
.ms-search__item-title:hover { color:var(--brand); }
.ms-search__item-authors {
  font-size:.78rem; color:var(--muted); margin-bottom:8px;
  font-family:var(--font);
}
.ms-search__item-abs {
  font-size:.82rem; color:#475569; line-height:1.62;
  margin:0 0 10px; font-family:var(--font);
}
.ms-search__item-meta {
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  font-size:.75rem; color:var(--muted); font-family:var(--font);
}
.ms-search__item-doi { font-family:monospace; color:var(--muted); }
.ms-search__item-read {
  margin-left:auto; font-size:.78rem; font-weight:700;
  color:var(--brand); text-decoration:none;
}
.ms-search__item-read:hover { color:#0ea5e9; }

/* Skeleton loading */
.ms-search__skel {
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:20px 22px; margin-bottom:12px; display:flex; flex-direction:column; gap:10px;
}
.ms-search__skel-line {
  background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);
  background-size:200% 100%; animation:msSkel 1.4s ease-in-out infinite;
  border-radius:6px; height:14px;
}
@keyframes msSkel { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.ms-search__skel-line--sm { width:30%; height:10px; }
.ms-search__skel-line--lg { width:85%; height:18px; }
.ms-search__skel-line--md { width:60%; height:12px; }

/* Empty state */
.ms-search__empty {
  text-align:center; padding:60px 20px;
  background:#fff; border:1px solid var(--line);
  border-radius:var(--r-lg);
}
.ms-search__empty-icon { font-size:2.5rem; margin-bottom:12px; }
.ms-search__empty h3 { color:var(--dark); margin:0 0 8px; font-family:var(--font-serif); }
.ms-search__empty p { color:var(--muted); font-size:.88rem; margin:0; font-family:var(--font); }

/* Hint state */
.ms-search__hint { text-align:center; padding:52px 20px; }
.ms-search__hint-icon { font-size:2.5rem; margin-bottom:12px; }
.ms-search__hint p { color:var(--muted); font-size:.9rem; margin:0 0 20px; font-family:var(--font); }
.ms-search__hints { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.ms-search__hint-tag {
  background:#fff; border:1px solid var(--line); border-radius:999px;
  padding:6px 16px; font-size:.8rem; color:var(--muted);
  cursor:pointer; font-weight:600; font-family:var(--font);
  transition:all .15s;
}
.ms-search__hint-tag:hover { border-color:var(--brand); color:var(--brand); background:#f0fafb; }

@media(max-width:600px){
  .ms-search__hero { padding:36px 0 30px; }
  .ms-search__input { font-size:.9rem; }
  .ms-search__item { padding:16px; }
  .ms-search__item-read { margin-left:0; }
}


/* =============================================================================
   SITE PAGE  —  app/[slug]/page.tsx  (uses common pub- pattern)
   ============================================================================= */

/* sp-hero reuses ms-search__hero dark gradient pattern */
.sp-hero {
  background: linear-gradient(160deg, #040d14 0%, #0b1f2a 60%, #003b44 100%);
  padding: 48px 0 44px; position: relative;
}
.sp-hero::after {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,#1d4ed8,#0ea5e9,#0d9488,#1d4ed8);
  background-size:200% 100%; animation:msLine 4s linear infinite;
}
.sp-hero__inner { max-width:1200px; margin:0 auto; padding:0 20px; }
.sp-hero__title {
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight:900; color:#fff;
  margin:0; font-family:var(--font-serif); letter-spacing:-.02em;
}
.sp-body { padding:52px 0 72px; background:#f8fafc; min-height:400px; }
.sp-body__inner { max-width:1200px; margin:0 auto; padding:0 20px; }

.sp-content {
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:36px 40px; box-shadow:var(--sh-sm);
  font-family:var(--font); font-size:.95rem; line-height:1.75; color:var(--dark);
}
.sp-content h1,.sp-content h2,.sp-content h3,.sp-content h4 {
  font-family:var(--font-serif); color:var(--dark); margin-top:1.5em; margin-bottom:.6em;
}
.sp-content h1 { font-size:1.6rem; }
.sp-content h2 { font-size:1.3rem; border-bottom:1px solid var(--line); padding-bottom:.4em; }
.sp-content h3 { font-size:1.1rem; }
.sp-content p  { margin:0 0 1em; }
.sp-content a  { color:var(--brand); text-decoration:underline; }
.sp-content a:hover { color:#0ea5e9; }
.sp-content ul,.sp-content ol { padding-left:1.5em; margin:0 0 1em; }
.sp-content li { margin-bottom:.35em; }
.sp-content table { width:100%; border-collapse:collapse; margin:1em 0; font-size:.88rem; }
.sp-content th { background:var(--brand); color:#fff; padding:9px 14px; text-align:left; font-weight:700; }
.sp-content td { padding:8px 14px; border-bottom:1px solid var(--line); }
.sp-content tr:hover td { background:#f8fafc; }
.sp-content img { max-width:100%; border-radius:var(--r); margin:1em 0; }
.sp-content blockquote {
  border-left:3px solid var(--brand); margin:1em 0; padding:.5em 1em;
  background:#f0fafb; color:#475569; font-style:italic;
}

@media(max-width:600px){
  .sp-content { padding:22px 18px; }
  .sp-hero { padding:34px 0 30px; }
}


/* Article card cite badge */
.ms-artcard__cite {
  color: #7c3aed; font-weight: 700; font-size: .72rem; font-family: var(--font);
}

/* Editorial grid */
.ms-edgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}
.ms-edcard {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 20px 18px; display: flex; gap: 14px; align-items: flex-start;
  box-shadow: var(--sh-sm); transition: box-shadow .18s;
}
.ms-edcard:hover { box-shadow: var(--sh-md); }
.ms-edcard__avatar {
  width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--brand), #0ea5e9);
  color: #fff; font-size: .9rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font);
}
.ms-edcard__body { flex: 1; min-width: 0; }
.ms-edcard__name {
  font-size: .875rem; font-weight: 800; color: var(--dark);
  margin: 0 0 3px; font-family: var(--font);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ms-edcard__role {
  font-size: .72rem; font-weight: 700; color: var(--brand);
  text-transform: uppercase; letter-spacing: .05em;
  margin: 0 0 4px; font-family: var(--font);
}
.ms-edcard__aff {
  font-size: .75rem; color: var(--muted); line-height: 1.4;
  margin: 0 0 5px; font-family: var(--font);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ms-edcard__jname {
  display: inline-block; font-size: .67rem; font-weight: 700;
  background: #e0f2fe; color: #0369a1;
  border-radius: 4px; padding: 1px 7px; font-family: var(--font);
}

/* Editorial board links row */
.ms-ed__links {
  display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;
}
.ms-ed__link {
  font-size: .82rem; font-weight: 700; color: var(--brand);
  text-decoration: none; border: 1px solid var(--brand);
  border-radius: var(--r); padding: 8px 18px;
  transition: all .18s; font-family: var(--font);
}
.ms-ed__link:hover { background: var(--brand); color: #fff; }

@media(max-width: 600px) {
  .ms-edgrid { grid-template-columns: 1fr; }
}

/* Email badge for editorial board */
.eb-id--email {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}
.eb-id--email:hover { background: #dcfce7; }



/* Auto-added missing .iv- rules (main-site/journal static pages) from ammspub master — rajjournal's own existing .iv- rules left untouched */
.iv-crumb li+li::before { content:'›';margin-right:4px;color:rgba(255,255,255,.2); }
.iv-header::before {
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#e6a817,#f9d56e,#0ea5e9,#e6a817);
  background-size:200% 100%;animation:vfLine 3s linear infinite;
}
.iv-header::after {
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:60px 60px;
}
.iv-header__row {
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px;flex-wrap:wrap;position:relative;z-index:1;
}
.iv-header__left { flex:1;min-width:0; }
.iv-header__right { display:flex;gap:10px;align-items:center;flex-shrink:0; }
.iv-hbtn { display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:8px;font-size:.78rem;font-weight:700;text-decoration:none;transition:all .15s;border:1.5px solid transparent; }
.iv-hbtn--ghost { background:#000;color:#fff;border-color:rgba(255,255,255,.2); }
.iv-hbtn--ghost:hover { background:rgba(255,255,255,.18); }
.iv-hbtn--gold { background:#e6a817;color:#040d18;border-color:#e6a817; }
.iv-hbtn--gold:hover { background:#d4970e; }
@media (max-width:900px) { .iv-page-grid{grid-template-columns:1fr;} }
@media (max-width:900px) { .iv-toc-col{display:none;} }
.iv-sec-count {
  background:rgba(0,59,68,.08);color:#003b44;
  font-size:.65rem;font-weight:800;
  padding:1px 7px;border-radius:999px;flex-shrink:0;
}
.iv-sec-link--active .iv-sec-count { background:#e6a817;color:#040d18; }
.iv-toc-info { padding:12px 14px;border-top:1px solid rgba(0,59,68,.08);background:#fafbfc; }
.iv-toc-info__label { font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#e6a817;margin-bottom:3px; }
.iv-toc-info__val { font-size:.82rem;font-weight:700;color:#0b1220; }
.iv-toc-info__year { font-size:.74rem;color:#64748b;font-family:var(--font-mono,monospace);margin-top:2px; }
.iv-issue-hd__top { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px; }
.iv-art-count-badge {
  display:inline-flex;align-items:center;
  background:#003b44;color:#fff;
  font-size:.7rem;font-weight:700;
  padding:4px 12px;border-radius:999px;flex-shrink:0;
}
.iv-section-group { margin-bottom:8px; }
.iv-section-head { display:flex;align-items:center;gap:12px;margin:20px 0 14px; }
.iv-section-head__label {
  white-space:nowrap;font-size:.72rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.1em;
  color:#003b44;background:#fff;
  border:1px solid rgba(0,59,68,.2);
  padding:4px 14px;border-radius:999px;
  flex-shrink:0;
}
.iv-section-head__line { flex:1;height:1px;background:rgba(0,59,68,.1); }
.iv-art-top { display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px; }
.iv-art-date { font-size:.7rem;color:#94a3b8;font-weight:500;flex-shrink:0; }
.iv-art-authors svg { flex-shrink:0;margin-top:2px;color:#003b44;opacity:.7; }
@media (min-width:768px) { .iv-w{ padding:0 2rem; } }
.iv-crumb__list{ display:flex; align-items:center; flex-wrap:wrap; gap:0; list-style:none; margin:0; padding:0; }
.iv-crumb__item{ display:flex; align-items:center; }
.iv-crumb__item+.iv-crumb__item::before{ content:'/'; color:#ccc; margin:0 .5rem; font-size:.7rem; }
.iv-crumb__item a{ color:var(--iv-mid); text-decoration:none; display:inline-flex; align-items:center; gap:.25rem; transition:color .15s; }
.iv-crumb__item a::after{ display:none !important; }
.iv-crumb__item a:hover{ color:var(--iv-brand); }
.iv-crumb__item--active{ color:var(--iv-muted); }
.iv-banner{ background:var(--iv-bg); border-bottom:1px solid var(--ar-line,#e0e0e0); padding:2rem 0 1.75rem; }
.iv-banner__top{ display:flex; align-items:center; gap:.6rem; font-family:var(--iv-sans); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--iv-accent); border-top:none; padding-top:0; margin-bottom:.9rem; width:fit-content; }
.iv-banner__vol{ font-family:var(--iv-serif); font-size:2rem; font-weight:500; color:var(--iv-ink); line-height:1.15; margin-bottom:.4rem; }
@media (min-width:768px) { .iv-banner__vol{ font-size:2.4rem; } }
.iv-banner__meta{ display:flex; align-items:center; flex-wrap:wrap; gap:1rem; font-family:var(--iv-sans); font-size:.82rem; color:var(--iv-muted); margin-bottom:1.1rem; }
.iv-banner__meta span{ display:inline-flex; align-items:center; gap:.3rem; }
.iv-count-badge{ display:inline-flex; align-items:center; gap:.3rem; background:var(--iv-wash); border:1px solid var(--iv-line); border-radius:2px; padding:.25rem .65rem; font-family:var(--iv-sans); font-size:.75rem; color:var(--iv-muted); }
.iv-banner__actions{ display:flex; gap:.6rem; flex-wrap:wrap; }
.iv-btn::after{ display:none !important; }
.iv-btn--brand{ background:var(--iv-brand); border-color:var(--iv-brand); color:#fff!important; }
.iv-btn--brand:hover{ background:#005060; border-color:#005060; text-decoration:none; }
.iv-btn--ghost{ background:transparent; border-color:var(--iv-line); color:var(--iv-mid)!important; }
.iv-btn--ghost:hover{ border-color:var(--iv-brand); color:var(--iv-brand)!important; text-decoration:none; }
.iv-body{ padding:0 0 3rem; background:var(--iv-bg); }
.iv-body__grid{ display:grid; grid-template-columns:1fr; gap:0; }
@media (min-width:992px) { .iv-body__grid{ grid-template-columns:220px 1fr; gap:0; } }
.iv-toc{ border-right:1px solid var(--iv-line); padding:2rem 1.5rem 2rem 0; }
@media (max-width:991px) { .iv-toc{ display:none; } }
.iv-toc-wrap{ position:sticky; top:120px; }
.iv-toc__head{ font-family:var(--iv-sans); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--iv-muted); border-top:2px solid var(--iv-ink); padding-top:.35rem; margin-bottom:.85rem; }
.iv-toc__list{ list-style:none; padding:0; margin:0; }
.iv-toc__list li{ margin-bottom:.1rem; }
.iv-toc__link{ display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; font-family:var(--iv-sans); font-size:.82rem; color:var(--iv-mid); text-decoration:none; padding:.35rem .5rem; border-left:2px solid transparent; border-radius:0 2px 2px 0; transition:color .15s,border-color .15s,background .15s; line-height:1.3; }
.iv-toc__link::after{ display:none !important; }
.iv-toc__link:hover{ color:var(--iv-brand); background:rgba(0,59,68,.04); border-left-color:var(--iv-brand); text-decoration:none; }
.iv-toc__link.is-active{ color:var(--iv-brand); font-weight:600; border-left-color:var(--iv-accent); background:rgba(204,0,0,.04); }
.iv-toc__count{ font-size:.7rem; color:#bbb; background:var(--iv-wash); border:1px solid var(--iv-line); border-radius:2px; padding:0 .35rem; flex-shrink:0; }
@media (min-width:992px) { .iv-main{ padding:2rem 0 2rem 2.5rem; } }
.iv-mobile-filter{ display:none; padding:.75rem 0; border-bottom:1px solid var(--iv-line); background:var(--iv-wash); }
@media (max-width:991px) { .iv-mobile-filter{ display:block; } }
.iv-mobile-filter select{ font-family:var(--iv-sans); font-size:.82rem; border:1.5px solid var(--iv-line); border-radius:2px; padding:.42rem .75rem; color:var(--iv-ink); background:#fff; outline:none; width:100%; max-width:360px; transition:border-color .15s; }
.iv-mobile-filter select:focus{ border-color:var(--iv-brand); }
.iv-sec-head{ display:flex; align-items:baseline; gap:.75rem; border-top:1px solid var(--ar-line,#e0e0e0); padding-top:.4rem; margin-top:2.25rem; margin-bottom:1rem; }
.iv-sec-head:first-child{ margin-top:0; }
.iv-sec-head__name{ font-family:var(--iv-serif); font-size:1.1rem; font-weight:600; color:var(--iv-ink); letter-spacing:-.01em; }
.iv-sec-head__n{ font-family:var(--iv-sans); font-size:.7rem; color:var(--iv-muted); margin-left:auto; white-space:nowrap; }
.iv-mem{ padding:1.25rem 0; border-bottom:1px solid var(--iv-line); }
.iv-mem:first-of-type{ border-top:1px solid var(--iv-line); }
.iv-mem__role{ display:inline-flex; align-items:center; gap:.3rem; font-family:var(--iv-sans); font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#1a5c44; margin-bottom:.45rem; }
.iv-mem__role i{ font-size:.75rem; }
.iv-mem__top{ display:flex; align-items:flex-start; gap:.85rem; margin-bottom:.35rem; }
.iv-mem__avatar{ flex-shrink:0; width:42px; height:42px; border-radius:2px; background:linear-gradient(135deg,var(--iv-brand) 0%,#005060 100%); color:#fff; font-family:var(--iv-serif); font-size:.88rem; font-weight:600; display:inline-flex; align-items:center; justify-content:center; letter-spacing:.03em; }
.iv-mem__name{ font-family:var(--iv-serif); font-size:1.08rem; font-weight:500; line-height:1.25; color:var(--iv-ink); margin:0 0 .18rem; }
.iv-mem__aff{ font-family:var(--iv-sans); font-size:.8rem; color:var(--iv-muted); display:flex; align-items:flex-start; gap:.28rem; line-height:1.4; }
.iv-mem__aff i{ margin-top:.1rem; flex-shrink:0; font-size:.75rem; }
.iv-mem__bio{ font-family:var(--iv-sans); font-size:.82rem; color:var(--iv-mid); line-height:1.6; margin:.3rem 0 .65rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.iv-mem__actions{ display:flex; gap:.45rem; flex-wrap:wrap; }
.iv-mem__btn{ display:inline-flex; align-items:center; gap:.25rem; font-family:var(--iv-sans); font-size:.75rem; font-weight:600; text-decoration:none; padding:.3rem .75rem; border-radius:2px; border:1.5px solid; transition:background .15s,color .15s; white-space:nowrap; background:transparent; }
.iv-mem__btn::after{ display:none !important; }
.iv-mem__btn--orcid { border-color:rgba(166,206,57,.7); color:#5a8b00!important; }
.iv-mem__btn--orcid:hover { background:#a6ce39; color:#fff!important; border-color:#a6ce39; text-decoration:none; }
.iv-mem__btn--gs    { border-color:rgba(66,133,244,.5); color:#1a56db!important; }
.iv-mem__btn--gs:hover { background:#4285f4; color:#fff!important; border-color:#4285f4; text-decoration:none; }
.iv-mem__btn--scopus{ border-color:rgba(240,128,0,.5); color:#c06000!important; }
.iv-mem__btn--scopus:hover { background:#f08000; color:#fff!important; border-color:#f08000; text-decoration:none; }
.iv-mem__btn--email { border-color:var(--iv-line); color:var(--iv-mid)!important; }
.iv-mem__btn--email:hover { border-color:var(--iv-brand); color:var(--iv-brand)!important; text-decoration:none; }
.iv-search-bar{ display:flex; align-items:center; gap:.65rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.iv-search-wrap{ position:relative; flex:1 1 240px; max-width:380px; }
.iv-search-wrap i{ position:absolute; left:.7rem; top:50%; transform:translateY(-50%); color:#bbb; font-size:.82rem; pointer-events:none; }
.iv-search-input{ width:100%; border:1.5px solid var(--iv-line); border-radius:2px; padding:.4rem .75rem .4rem 2rem; font-family:var(--iv-sans); font-size:.84rem; color:var(--iv-ink); outline:none; background:#fafafa; transition:border-color .15s; }
.iv-search-input:focus{ border-color:var(--iv-brand); background:#fff; }
.iv-search-input::placeholder{ color:#bbb; }
.iv-search-count{ font-family:var(--iv-sans); font-size:.78rem; color:var(--iv-muted); margin-left:auto; white-space:nowrap; }
.iv-empty i{ font-size:2rem; display:block; margin-bottom:.5rem; opacity:.3; }
.iv-art{
  padding     : 1.25rem 0;
  border-bottom: 1px solid var(--iv-line);
}
.iv-art:first-of-type{ border-top:1px solid var(--iv-line); }
.iv-art__oa{
  display     : inline-flex; align-items:center; gap:.3rem;
  font-family : var(--iv-sans); font-size:.66rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  color       : #1a7340;
  margin-bottom:.45rem;
}
.iv-art__oa i{ font-size:.75rem; }
.iv-art__section{
  margin-left:.5rem; padding:1px 7px;
  background:rgba(0,59,68,.07); color:#003b44;
  border:1px solid rgba(0,59,68,.15); border-radius:3px;
  font-size:.62rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase;
}
.iv-art__title{
  font-family   : var(--iv-serif); font-size:1.1rem; font-weight:500;
  line-height   : 1.3; color:var(--iv-ink);
  text-decoration:none; display:block; margin-bottom:.35rem;
}
.iv-art__title:hover{ color:var(--iv-brand); text-decoration:none; }
.iv-art__authors{
  font-family : var(--iv-sans); font-size:.82rem;
  color       : var(--iv-muted); margin-bottom:.3rem;
}
.iv-art__meta{
  display     : flex; align-items:center; flex-wrap:wrap;
  gap         : .5rem 1.25rem; font-size:.76rem;
  color       : var(--iv-muted); margin-bottom:.65rem;
}
.iv-art__meta a{ color:var(--iv-brand); text-decoration:none; }
.iv-art__meta a:hover{ text-decoration:underline; }
.iv-art__meta span{ display:inline-flex; align-items:center; gap:.25rem; }
.iv-art__actions{ display:flex; gap:.5rem; flex-wrap:wrap; }
.iv-art__btn{
  display     : inline-flex; align-items:center; gap:.25rem;
  font-family : var(--iv-sans); font-size:.76rem; font-weight:600;
  text-decoration:none; padding:.32rem .8rem;
  border-radius:2px; border:1.5px solid;
  transition  : background .15s, color .15s; white-space:nowrap;
}
.iv-art__btn--primary{ background:var(--iv-brand); border-color:var(--iv-brand); color:#fff!important; }
.iv-art__btn--primary:hover{ background:#005060; text-decoration:none; }
.iv-art__btn--pdf{ background:transparent; border-color:var(--iv-line); color:var(--iv-mid)!important; }
.iv-art__btn--pdf:hover{ border-color:var(--iv-brand); color:var(--iv-brand)!important; text-decoration:none; }
.iv-back{
  display:inline-flex; align-items:center; gap:.3rem;
  font-family:var(--iv-sans); font-size:.8rem; font-weight:600;
  color:var(--iv-brand); text-decoration:none;
  margin-top:2rem; padding-top:1.5rem;
  border-top:1px solid var(--iv-line);
}
.iv-back:hover{ text-decoration:underline; }
.iv-toc-inner{position:sticky;top:calc(var(--page-offset,0px) + var(--iv-toolbar-h,52px) + 1.25rem);padding-right:1.75rem;max-height:calc(100vh - var(--page-offset,0px) - 52px - 2.5rem);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--iv-line,#e0e0e0) transparent;}
.iv-toc-inner::-webkit-scrollbar{width:3px;}
.iv-toc-inner::-webkit-scrollbar-thumb{background:var(--iv-line,#e0e0e0);}
