/* =============================================================================
   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;
}

/* ── Sticky nav fix ──
   body mein display:flex hone par position:sticky kaam nahi karta.
   Isliye journal-body aur site-header ke liye ye fix hai.
   layout.tsx mein body pe flex hai — usse override karte hain. */
.journal-body,
body {
  display: block !important;
  min-height: 100vh;
}
/* main content ko min-height dete hain */
.journal-main,
#main-content {
  min-height: 60vh;
}

/* 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  (PHP header.php exact match)
   ============================================================================= */

/* Impersonate bar */
.site-impersonate { background:#dc2626;color:#fff;text-align:center;font-size:.78rem;font-weight:700;padding:5px 16px; }
.site-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; }

/* site-header sticky wrapper (original .hb jaisa) */
.site-header { position:sticky;top:0;z-index:9999;box-shadow:0 2px 12px rgba(2,6,23,.06);transition:box-shadow .25s; }
.site-header.scrolled { box-shadow:0 4px 24px rgba(2,6,23,.12); }

/* header-main — scroll par hide (original .hb-ribbon jaisa) */
.header-main {
  background-color:#fff;
  border-bottom:1px solid #e9ecef;
  overflow:hidden;
  max-height:120px;
  opacity:1;
  transition:max-height .3s ease, opacity .3s ease;
}
.site-header.scrolled .header-main {
  max-height:0;
  opacity:0;
  pointer-events:none;
  border-bottom:none;
}
.header-main-inner {
  max-width:var(--container);margin:0 auto;padding:10px 16px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}

/* Left: brand — hidden on mobile (main-nav mein logo dikhta hai) */
.header-brand-col { display:none;align-items:center;flex:1;min-width:0; }
@media(min-width:768px){ .header-brand-col { display:flex; } }

.brand-wrap { display:flex;align-items:center;gap:.6rem;min-width:0;text-decoration:none; }
.brand-logo { height:44px;width:auto;display:block;flex-shrink:0; }
.brand-text { font-weight:800;color:var(--brand);letter-spacing:.2px;font-size:1.1rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis; }

/* Right col — ISSN upar, social+search neeche */
.header-right-col { display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0; }
/* Mobile: full width — ISSN left, search right */
@media(max-width:767px){
  .header-right-col { width:100%;flex-direction:row;align-items:center;justify-content:space-between; }
}

.issn-label { font-size:.72rem;font-weight:600;color:#333;letter-spacing:.02em;white-space:nowrap; }

/* Mobile: social icons chhupao, sirf search dikhao right side mein */
@media(max-width:767px){
  .social-list { display:none; }
}

.social-search-row { display:flex;align-items:center;gap:8px; }

.social-list { display:flex;gap:5px;align-items:center;margin:0;padding:0;list-style:none; }
.social-list a { color:#6d00db;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid rgba(109,0,219,.25);transition:background .15s; }
.social-list a:hover { background:rgba(109,0,219,.1); }

.search-btn { background:transparent;border:1px solid #ccc;padding:.3rem .45rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#555;transition:border-color .15s; }
.search-btn:hover { border-color:var(--brand);color:var(--brand); }

/* ── ROW 2: main-nav — STICKY, sirf yahi stick karta hai ── */
.main-nav { position:relative;background:#000;box-shadow:0 2px 8px rgba(0,0,0,.3);overflow:visible; }
.main-nav-inner { max-width:var(--container);margin:0 auto;padding:0 12px;display:flex;align-items:center;min-height:52px; }

/* Mobile brand — logo+title black bar mein (sirf mobile) */
.mobile-brand { display:flex;align-items:center;gap:.4rem;text-decoration:none;flex:1;min-width:0;padding:.4rem 0; }
@media(min-width:768px){ .mobile-brand { display:none; } }
.mobile-brand-logo { height:34px;width:auto;flex-shrink:0; }
.mobile-brand-text { color:#fff;font-weight:700;font-size:.72rem;line-height:1.3;overflow:hidden; }

/* Hamburger */
.nav-toggler { background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:6px;padding:.38rem .5rem;cursor:pointer;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;flex-shrink:0; }
@media(min-width:992px){ .nav-toggler { display:none; } }
.nav-toggler span { display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s; }
.nav-toggler.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggler.open span:nth-child(2){ opacity:0; }
.nav-toggler.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Nav collapse — mobile: below black bar, full width dropdown */
.nav-collapse {
  position:absolute;top:100%;left:0;right:0;
  background:#000;
  max-height:0;overflow:hidden;
  flex-direction:column;
  transition:max-height .3s cubic-bezier(.4,0,.2,1);
  z-index:9998;
}
.nav-collapse.open { max-height:700px;overflow:visible; }
@media(min-width:992px){
  .nav-collapse {
    position:static;display:flex;flex-direction:row;align-items:center;
    flex:1;max-height:none!important;overflow:visible;background:transparent;
  }
}

/* Nav list */
.nav-main-list { list-style:none;margin:0;padding:0;display:flex;flex-direction:column; }
@media(min-width:992px){ .nav-main-list { flex-direction:row;align-items:center;flex:1; } }

/* Nav items */
.main-nav .nav-item { position:relative; }
@media(max-width:991px){ .main-nav .nav-item { border-bottom:1px solid rgba(255,255,255,.1); } }

/* Nav links */
.main-nav .nav-link {
  display:flex;align-items:center;
  padding:13px 16px;
  font-size:.9rem;font-weight:500;color:#fff;
  text-decoration:none;white-space:nowrap;
  transition:background .15s;
}
@media(min-width:992px){ .main-nav .nav-link { padding:.55rem .85rem;border-radius:6px; } }
.main-nav .nav-link:hover,.main-nav .nav-link.active { background:rgba(255,255,255,.12);color:#fff; }

/* Dropdown chevron */
.nav-dd-chev { font-size:.55rem;margin-left:5px;transition:transform .2s;opacity:.6;display:inline-block; }
.nav-dd-chev.open { transform:rotate(180deg); }

/* Sub-dropdown (About > items etc) */
.nav-dropdown-menu {
  list-style:none;margin:0;padding:4px;
  background:#111;
  display:none;
}
.nav-dropdown-menu.open { display:block; }
@media(min-width:992px){
  .nav-dropdown-menu {
    position:absolute;top:calc(100% + 2px);left:0;
    background:#fff;border:1px solid #ddd;border-radius:8px;
    box-shadow:0 10px 32px rgba(0,0,0,.15);
    min-width:180px;z-index:10000;padding:6px;
  }
}
.nav-dd-link {
  display:block;padding:9px 16px;
  font-size:.85rem;font-weight:500;color:#ccc;
  text-decoration:none;border-radius:4px;transition:background .12s;
}
@media(min-width:992px){ .nav-dd-link { color:#212529; } }
.nav-dd-link:hover { background:rgba(255,255,255,.1);color:#fff; }
@media(min-width:992px){ .nav-dd-link:hover { background:#f3f6fb;color:var(--brand); } }

/* Right: submit + user — mobile mein bhi nav-collapse ke andar */
.nav-right {
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;
  border-top:1px solid rgba(255,255,255,.1);
}
@media(min-width:992px){
  .nav-right { margin-left:auto;border-top:none;padding:.3rem 0; }
}

/* Submit */
.submit-btn {
  background:linear-gradient(90deg,#4067ff,#000777);color:#fff;
  border-radius:8px;padding:.38rem .8rem;
  font-weight:600;font-size:.82rem;text-decoration:none;
  border:none;cursor:pointer;white-space:nowrap;transition:opacity .15s;
  display:inline-flex;align-items:center;
}
.submit-btn:hover { opacity:.88;color:#fff; }

/* User avatar */
.user-avatar {
  width:34px;height:34px;border-radius:50%;
  background:#1d4ed8;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.8rem;flex-shrink:0;
}

/* Nav user */
.nav-user { position:relative; }
.nav-user-btn {
  display:flex;align-items:center;gap:7px;
  background:transparent;border:none;cursor:pointer;
  padding:.2rem .4rem;border-radius:8px;transition:background .15s;
}
.nav-user-btn:hover { background:rgba(255,255,255,.1); }
.nav-user-name { font-size:.8rem;font-weight:600;color:#fff; }
.nav-user-role { font-size:.68rem;color:rgba(255,255,255,.5); }

/* Account btn (guest) */
.account-btn {
  display:inline-flex;align-items:center;gap:5px;
  border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;
  border-radius:6px;padding:.3rem .7rem;font-size:.82rem;font-weight:500;cursor:pointer;
  white-space:nowrap;transition:background .15s;
}
.account-btn:hover { background:rgba(255,255,255,.1); }

/* User dropdown — desktop absolute, mobile inline block */
.nav-user-dropdown {
  background:#fff;border:1px solid #dee2e6;border-radius:10px;
  box-shadow:0 18px 55px rgba(2,6,23,.15);padding:8px;
  min-width:210px;
}
@media(min-width:992px){
  .nav-user-dropdown {
    position:absolute;right:0;top:calc(100% + 6px);
    z-index:10000;animation:ddIn .15s ease;
  }
}
@media(max-width:991px){
  .nav-user-dropdown {
    position:static;
    margin:6px 0 4px;
    border-radius:8px;
    background:#1a1a1a;
    border-color:rgba(255,255,255,.1);
    box-shadow:none;
  }
  .nav-user-dropdown h6 { color:rgba(255,255,255,.4); }
  .nav-dd-item { color:#fff; }
  .nav-dd-item:hover { background:rgba(255,255,255,.08); }
  .nav-dd-item.danger { color:#f87171; }
  .nav-dd-item.danger:hover { background:rgba(248,113,113,.1); }
  .nav-dd-divider { border-top-color:rgba(255,255,255,.1); }
}
.nav-user-dropdown h6 { padding:6px 12px 4px;font-size:.65rem;font-weight:800;color:#6c757d;text-transform:uppercase;letter-spacing:.07em;margin:0; }
.nav-dd-item { display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:7px;width:100%;font-size:.82rem;font-weight:500;text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s; }
.nav-dd-item:hover { background:#f3f6fb; }
.nav-dd-item.danger { color:#dc2626; }
.nav-dd-item.danger:hover { background:#fef2f2; }
.nav-dd-divider { margin:6px 0;border:none;border-top:1px solid #dee2e6; }

/* Search modal */
.search-modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease; }
.search-modal { background:#fff;border-radius:12px;width:min(600px,100%);box-shadow:0 24px 80px rgba(2,6,23,.2);animation:ddIn .15s ease; }
.search-modal-header { display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #dee2e6; }
.search-modal-title { font-size:1rem;font-weight:700;color:#212529;margin:0;display:flex;align-items:center;gap:8px; }
.search-modal-close { background:transparent;border:none;cursor:pointer;color:#6c757d;font-size:1.4rem;line-height:1;padding:2px 8px;border-radius:6px;transition:background .12s; }
.search-modal-close:hover { background:#f3f6fb; }
.search-modal-body { padding:20px; }
.search-input-group { display:flex;gap:8px; }
.search-input-group input { flex:1;min-width:0;padding:.6rem .9rem;font-size:1rem;border:1px solid #ced4da;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s; }
.search-input-group input:focus { border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,59,68,.1); }
.search-input-group button { background:var(--brand);color:#fff;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s;display:flex;align-items:center;gap:6px;flex-shrink:0; }
.search-input-group button:hover { opacity:.9; }
.search-tip { margin-top:10px;font-size:.8rem;color:#6c757d; }
@media(max-width:480px){
  .search-modal-title { font-size:.9rem; }
  .search-input-group { flex-direction:column; }
  .search-input-group input { width:100%; }
  .search-input-group button { width:100%;justify-content:center; }
}

@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }



/* =============================================================================
   JOURNAL HOME PAGE  —  JournalHomeClient.tsx  (PHP journal_home.php match)
   ============================================================================= */

/* ── HERO BAND ── */
.jh-hero-band {
  background: radial-gradient(circle at top left, #0f172a 0, #020617 55%, #000 100%);
  padding: 2rem 0 2.5rem;
  color: #fff;
}
.jh-hero-container { max-width:var(--container);margin:0 auto;padding:0 16px; }
.jh-hero-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 2rem;
  align-items: center;
}
@media(max-width:767px){
  .jh-hero-row { grid-template-columns: 1fr;gap:1rem; }
}

/* Cover image col */
.jh-hero-cover-col { display:flex;align-items:center;justify-content:center; }
@media(max-width:767px){ .jh-hero-cover-col { display:none; } }
.jh-cover-wrap { background:#fff;border-radius:8px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.3); }
.jh-cover-img { width:130px;height:auto;display:block;border-radius:6px; }

/* Info col */
.jh-hero-title { font-size:1.4rem;font-weight:700;color:#fff;margin:0 0 .5rem;line-height:1.3; }
@media(min-width:768px){ .jh-hero-title { font-size:1.6rem; } }
.jh-hero-meta { font-size:.82rem;color:rgba(255,255,255,.85);margin:0 0 .6rem; }
.jh-hero-desc { font-size:.9rem;color:rgba(255,255,255,.9);margin:.5rem 0 .4rem;line-height:1.6; }
.jh-hero-readmore { font-size:.82rem;font-weight:600;color:#fff;text-decoration:underline;opacity:.85; }
.jh-hero-readmore:hover { opacity:1;color:#fff; }

/* Button col */
.jh-hero-btn-col { display:flex;flex-direction:column;gap:.6rem;min-width:200px; }
@media(max-width:767px){ .jh-hero-btn-col { flex-direction:row;flex-wrap:wrap;min-width:auto; } }
.jh-hero-btn {
  display:block;width:100%;padding:.6rem 1rem;
  font-weight:600;font-size:.87rem;text-decoration:none;
  border-radius:6px;border:1px solid rgba(255,255,255,.5);
  transition:opacity .15s;
  text-align:left;
}
.jh-hero-btn--yellow { background:#ffc107;color:#000;border-color:#ffc107; }
.jh-hero-btn--yellow:hover { opacity:.9;color:#000; }
.jh-hero-btn--outline { background:transparent;color:#fff; }
.jh-hero-btn--outline:hover { background:rgba(255,255,255,.1);color:#fff; }

/* ── MAIN CONTAINER ── */
.jh-main-container { max-width:var(--container);margin:1.5rem auto 0;padding:0 16px; }

/* ── TOP ROW: 3 cards ── */
.jh-top-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media(min-width:992px){
  .jh-top-card--lg { grid-column: span 2; }
  .jh-top-card--sm { grid-column: span 1; }
}
@media(max-width:991px){
  .jh-top-row { grid-template-columns: 1fr; }
}

/* Card */
.jh-card { border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background:#fff;height:100%;display:flex;flex-direction:column; }
.jh-card-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem 1rem;
  border-bottom:1px solid #dee2e6;
  background:#f8f9fa;
}
.jh-card-title { font-weight:600;font-size:.9rem;color:#212529; }
.jh-card-hint { font-size:.75rem;color:#6c757d; }
.jh-card-body { padding:1rem;flex:1; }
.jh-card-body--nop { padding:0;flex:1; }

/* Editor's Choice Carousel */
.jh-carousel { position:relative;min-height:160px;overflow:hidden; }
.jh-carousel-empty { padding:1rem;color:#6c757d;font-size:.85rem; }
.jh-carousel-item { display:flex;gap:0;height:100%; }
.jh-carousel-body { flex:1;padding:1rem;min-width:0; }
.jh-carousel-title { font-size:.95rem;font-weight:700;margin:0 0 .4rem;line-height:1.4; }
.jh-carousel-title a { color:#212529;text-decoration:none; }
.jh-carousel-title a:hover { color:var(--brand); }
.jh-carousel-author { font-size:.8rem;color:#6c757d;margin:0 0 .3rem; }
.jh-carousel-doi { font-size:.78rem;color:#555;margin:0; }
.jh-carousel-doi a { color:#0d6efd; }
.jh-carousel-img-wrap { width:42%;flex-shrink:0;overflow:hidden; }
.jh-carousel-img { width:100%;height:100%;object-fit:cover;display:block; }
.jh-carousel-dots { display:flex;gap:6px;padding:8px 12px;justify-content:center; }
.jh-carousel-dot {
  width:8px;height:8px;border-radius:50%;border:none;
  background:rgba(0,0,0,.2);cursor:pointer;padding:0;transition:background .15s;
}
.jh-carousel-dot.active { background:var(--brand); }
.jh-carousel-prev,.jh-carousel-next {
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(0,0,0,.4);color:#fff;border:none;
  width:28px;height:28px;border-radius:50%;cursor:pointer;
  font-size:1.2rem;display:flex;align-items:center;justify-content:center;
  z-index:1;
}
.jh-carousel-prev { left:6px; }
.jh-carousel-next { right:6px; }

/* Call for Paper default */
.jh-cfp-default { font-size:.85rem;color:#495057; }
.jh-cfp-btn {
  display:inline-block;margin-top:.75rem;
  background:var(--brand);color:#fff;padding:.4rem .85rem;
  border-radius:6px;font-size:.82rem;font-weight:600;text-decoration:none;
}
.jh-cfp-btn:hover { opacity:.9;color:#fff; }

/* Matrix default */
.jh-matrix-default { font-size:.85rem; }
.jh-matrix-row { padding:.35rem 0;border-bottom:1px solid #f0f0f0;color:#333; }

/* ── CONTENT ROW: 9col + 3col ── */
.jh-content-row {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media(max-width:767px){ .jh-content-row { grid-template-columns: 1fr; } }

/* Section header */
.jh-section-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;border-bottom:2px solid #e9ecef;padding-bottom:.5rem; }
.jh-section-title { font-size:1.15rem;font-weight:700;color:#212529;margin:0; }
.jh-empty-state { color:#6c757d;font-size:.9rem;padding:.5rem 0; }

/* Articles grid — 3 columns */
.jh-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media(max-width:991px){ .jh-articles-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:575px){ .jh-articles-grid { grid-template-columns: 1fr; } }

/* Article card */
.jh-article-card {
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(15,23,42,.07);
  display:flex;flex-direction:column;
  height:100%;
}
.jh-article-thumb {
  width:100%;height:170px;object-fit:cover;display:block;
}
.jh-article-thumb--fallback {
  width:100%;height:170px;background:linear-gradient(135deg,#e2e8f0,#cbd5e0);display:block;
}
.jh-article-body { padding:.75rem;display:flex;flex-direction:column;flex:1; }
.jh-article-title { font-weight:700;font-size:.95rem;line-height:1.4;margin-bottom:.35rem;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.jh-article-title a { color:#212529;text-decoration:none; }
.jh-article-title a:hover { color:var(--brand); }
.jh-article-meta { font-size:.82rem;color:#333;margin-bottom:.2rem; }
.jh-article-meta a { color:#0d6efd; }

/* Article footer */
.jh-article-footer {
  margin-top:auto;padding-top:.5rem;border-top:1px solid #e5e7eb;
  display:flex;align-items:center;justify-content:space-between;
  font-size:.82rem;
}
.jh-article-footer-left { display:flex;align-items:center;gap:.75rem;color:#6c757d; }
.jh-views-badge { display:inline-flex;align-items:center;gap:3px;color:#6c757d; }
.jh-article-footer-right { display:flex;align-items:center;gap:.75rem; }
.jh-art-link { font-weight:600;color:#0d6efd;text-decoration:none;font-size:.82rem;display:inline-flex;align-items:center;gap:3px; }
.jh-art-link:hover { text-decoration:underline; }

/* ── SIDEBAR ── */
.jh-sidebar-col { display:flex;flex-direction:column;gap:1rem; }

.jh-sidebar-card { background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden; }
.jh-sidebar-head {
  background:#f8f9fa;border-bottom:1px solid #dee2e6;
  padding:.5rem .85rem;font-weight:600;font-size:.85rem;color:#6c757d;
}
.jh-sidebar-body { padding:.75rem; }
.jh-sidebar-empty { font-size:.85rem;color:#6c757d; }

/* EIC */
.jh-eic-row { display:flex;align-items:flex-start;gap:.75rem; }
.jh-eic-avatar {
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#eef2ff,#e3f2fd);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.85rem;color:#334155;
  border:1px solid #e5e7eb;
}
.jh-eic-name { font-weight:700;font-size:.9rem;color:#212529; }
.jh-eic-aff { font-size:.78rem;color:#6c757d;margin-top:2px; }

/* Most Read */
.jh-most-read-list { list-style:none;margin:0;padding:0; }
.jh-most-read-item { padding:.5rem 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem; }
.jh-most-read-item:last-child { border-bottom:none; }
.jh-most-read-title { font-size:.82rem;font-weight:600;color:#212529; }
.jh-most-read-title a { color:#212529;text-decoration:none; }
.jh-most-read-title a:hover { color:var(--brand); }
.jh-most-read-views { font-size:.75rem;color:#6c757d;display:flex;align-items:center;gap:3px;flex-shrink:0; }

/* Most Cited */
.jh-cited-list { list-style:none;margin:0;padding:0; }
.jh-cited-item { padding:.5rem 0;border-bottom:1px solid #f0f0f0; }
.jh-cited-item:last-child { border-bottom:none; }
.jh-cited-title { font-size:.82rem;font-weight:600;color:#212529;text-decoration:none;display:block;line-height:1.4; }
.jh-cited-title:hover { color:var(--brand); }
.jh-cited-doi { font-size:.72rem;color:#6c757d;margin-top:2px; }
.jh-cited-count { font-size:.75rem;font-weight:700;color:var(--brand);margin-top:2px; }
.jh-cited-all {
  display:inline-flex;align-items:center;gap:4px;
  margin-top:.6rem;padding:.35rem .7rem;
  border:1px solid var(--brand);border-radius:6px;
  font-size:.78rem;font-weight:600;color:var(--brand);text-decoration:none;
}
.jh-cited-all:hover { background:var(--brand);color:#fff; }

/* ── CTA SECTION ── */
.jh-cta-section {
  background:#dbeafe;
  padding:3rem 16px;
  margin-top:2rem;
}
.jh-cta-inner {
  max-width:var(--container);margin:0 auto;
  display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;
}
@media(min-width:768px){
  .jh-cta-inner { flex-direction:row;align-items:center;justify-content:space-between; }
}
.jh-cta-title { font-size:1.2rem;font-weight:700;color:#1e3a5f;margin:0 0 .25rem; }
.jh-cta-sub { color:#374151;margin:0;font-size:.9rem; }
.jh-cta-btns { display:flex;gap:.75rem;flex-wrap:wrap; }
.jh-cta-btn {
  padding:.6rem 1.4rem;border-radius:8px;font-weight:600;font-size:.9rem;
  text-decoration:none;display:inline-flex;align-items:center;
  white-space:nowrap;transition:opacity .15s;
}
.jh-cta-btn--primary { background:#1d4ed8;color:#fff;border:none; }
.jh-cta-btn--primary:hover { opacity:.9;color:#fff; }
.jh-cta-btn--outline { background:#fff;color:#1d4ed8;border:1px solid #1d4ed8; }
.jh-cta-btn--outline:hover { background:#eff6ff;color:#1d4ed8; }


/* =============================================================================
   JOURNAL HOME PAGE — php-* classes (PHP journal_home.php exact match)
   ============================================================================= */

/* ── HERO BAND ── */
.php-hero {
  background: radial-gradient(circle at top left, #0f172a 0, #020617 55%, #000 100%);
  padding: 2rem 0 2.5rem;
  color: #fff;
}
.php-hero-inner { max-width:1200px;margin:0 auto;padding:0 16px; }
.php-hero-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.5rem;
  align-items: center;
}
@media(max-width:767px){
  .php-hero-row { grid-template-columns:1fr;gap:1rem; }
}

/* Cover */
.php-hero-cover { display:flex;align-items:center;justify-content:center; }
@media(max-width:767px){ .php-hero-cover { display:none; } }
.php-hero-cover-wrap { background:#fff;border-radius:8px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.4); }
.php-cover-img { width:140px;height:auto;display:block;border-radius:6px; }

/* Info */
.php-hero-title { font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .5rem;line-height:1.3; }
@media(min-width:768px){ .php-hero-title { font-size:1.7rem; } }
.php-hero-meta { font-size:.82rem;color:rgba(255,255,255,.85);margin:0 0 .5rem; }
.php-hero-desc { font-size:.88rem;color:rgba(255,255,255,.9);line-height:1.6;margin:.4rem 0; }
.php-hero-readmore { font-size:.82rem;font-weight:600;color:#fff;text-decoration:underline;opacity:.85; }
.php-hero-readmore:hover { opacity:1;color:#fff; }

/* Buttons col */
.php-hero-btns { display:flex;flex-direction:column;gap:.5rem;min-width:190px; }
@media(max-width:767px){ .php-hero-btns { flex-direction:row;flex-wrap:wrap;min-width:auto; } }
.php-hero-btn {
  display:block;padding:.55rem 1rem;border-radius:6px;
  font-weight:600;font-size:.85rem;text-decoration:none;
  text-align:left;border:1px solid rgba(255,255,255,.45);
  transition:opacity .15s;
}
.php-hero-btn--yellow { background:#ffc107;color:#000;border-color:#ffc107; }
.php-hero-btn--yellow:hover { opacity:.9;color:#000; }
.php-hero-btn--outline { background:transparent;color:#fff; }
.php-hero-btn--outline:hover { background:rgba(255,255,255,.1);color:#fff; }

/* ── MAIN CONTAINER ── */
.php-container { max-width:1200px;margin:1.5rem auto;padding:0 16px; }

/* ── TOP ROW: 3 cards ── */
.php-top-row { display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin-bottom:1.5rem; }
@media(max-width:991px){ .php-top-row { grid-template-columns:1fr; } }

/* Card */
.php-card { background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;height:100%;display:flex;flex-direction:column; }
.php-card-header { display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid #dee2e6;background:#f8f9fa; }
.php-card-title { font-weight:600;font-size:.9rem;color:#212529; }
.php-card-hint { font-size:.75rem;color:#6c757d; }
.php-card-body { padding:1rem;flex:1; }
.php-card-body-nop { flex:1;overflow:hidden; }

/* Editor's Choice Carousel */
.php-carousel { position:relative;min-height:180px; }
.php-carousel-empty { padding:1rem;color:#6c757d;font-size:.85rem; }
.php-carousel-slide { display:flex;height:100%; }
.php-carousel-text { flex:0 0 58%;padding:1rem;min-width:0; }
.php-carousel-title { font-size:.92rem;font-weight:700;margin:0 0 .4rem;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.php-carousel-title a { color:#212529;text-decoration:none; }
.php-carousel-title a:hover { color:var(--brand); }
.php-carousel-author { font-size:.8rem;color:#6c757d;margin:0 0 .25rem; }
.php-carousel-doi { font-size:.75rem;color:#555;margin:0; }
.php-carousel-doi a { color:#0d6efd; }
.php-carousel-img-col { flex:0 0 42%;overflow:hidden; }
.php-carousel-img { width:100%;height:100%;object-fit:cover;display:block; }
.php-carousel-img--empty { width:100%;height:100%;background:#e9ecef; }
.php-carousel-indicators { display:flex;justify-content:center;gap:5px;padding:6px; }
.php-carousel-dot { width:8px;height:8px;border-radius:50%;border:none;background:rgba(0,0,0,.2);cursor:pointer;padding:0; }
.php-carousel-dot.active { background:var(--brand); }
.php-carousel-ctrl { position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;z-index:2; }
.php-carousel-ctrl--prev { left:5px; }
.php-carousel-ctrl--next { right:5px; }

/* Call for Paper default */
.php-cfp-default { font-size:.85rem;color:#495057; }
.php-cfp-text { margin:0 0 .75rem; }
.php-cfp-btn { display:inline-flex;background:var(--brand);color:#fff;padding:.38rem .8rem;border-radius:6px;font-size:.82rem;font-weight:600;text-decoration:none; }
.php-cfp-btn:hover { opacity:.9;color:#fff; }

/* Matrix default */
.php-matrix-default { font-size:.85rem; }
.php-matrix-row { padding:.3rem 0;border-bottom:1px solid #f0f0f0;color:#333; }
.php-matrix-row span { font-weight:600; }

/* ── MAIN ROW: 9col + 3col ── */
.php-main-row { display:grid;grid-template-columns:3fr 1fr;gap:1.5rem;margin-bottom:2rem; }
@media(max-width:767px){ .php-main-row { grid-template-columns:1fr; } }

/* Section header */
.php-section-head { display:flex;align-items:center;border-bottom:2px solid #e9ecef;padding-bottom:.5rem;margin-bottom:1.25rem; }
.php-section-title { font-size:1.1rem;font-weight:700;color:#212529;margin:0; }
.php-empty { color:#6c757d;font-size:.9rem; }

/* Articles grid: 3 columns */
.php-articles-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem; }
@media(max-width:991px){ .php-articles-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:575px){ .php-articles-grid { grid-template-columns:1fr; } }

/* Article card — PHP article-card exact */
.php-article-card { background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 14px rgba(15,23,42,.07);display:flex;flex-direction:column;height:100%; }
.php-article-thumb { width:100%;height:180px;object-fit:cover;display:block; }
.php-article-thumb--fallback { width:100%;height:180px;background:linear-gradient(135deg,#e2e8f0,#cbd5e0);display:block; }
.php-article-body { padding:.75rem;display:flex;flex-direction:column;flex:1; }
.php-article-title { font-weight:800;font-size:1rem;margin-bottom:.3rem;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.php-article-title a { color:#212529;text-decoration:none; }
.php-article-title a:hover { color:var(--brand); }
.php-article-meta { font-size:.85rem;color:#333;margin-bottom:.15rem; }
.php-article-meta a { color:#0d6efd; }
/* Footer */
.php-article-footer { margin-top:auto;padding-top:.5rem;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;font-size:.85rem; }
.php-article-footer-l { display:flex;align-items:center;gap:.6rem;color:#6c757d; }
.php-article-views { display:inline-flex;align-items:center;gap:3px; }
.php-article-footer-r { display:flex;align-items:center;gap:.6rem; }
.php-art-link { font-weight:600;color:#0d6efd;text-decoration:none;font-size:.85rem;display:inline-flex;align-items:center;gap:3px; }
.php-art-link:hover { text-decoration:underline; }

/* ── SIDEBAR ── */
.php-sidebar { display:flex;flex-direction:column;gap:.75rem; }
.php-sidebar-card { background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden; }
.php-sidebar-head { padding:.5rem .85rem;font-weight:600;font-size:.82rem;color:#6c757d;background:#f8f9fa;border-bottom:1px solid #dee2e6; }
.php-sidebar-title { font-size:1rem;font-weight:700;color:#212529;margin:0 0 .75rem; }
.php-sidebar-body { padding:.75rem; }
.php-sidebar-empty { font-size:.85rem;color:#6c757d; }

/* EIC — PHP eic-avatar exact */
.php-eic-row { display:flex;align-items:flex-start;gap:.75rem; }
.php-eic-avatar { width:52px;height:52px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#eef2ff,#e3f2fd);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#334155;border:1px solid #e5e7eb; }
.php-eic-name { font-weight:700;font-size:.9rem;color:#212529; }
.php-eic-aff { font-size:.75rem;color:#6c757d;margin-top:2px;line-height:1.4; }

/* Most Cited */
.php-cited-list { list-style:none;margin:0 0 .5rem;padding:0; }
.php-cited-item { display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-bottom:1px solid #f0f0f0; }
.php-cited-item:last-child { border-bottom:none; }
.php-cited-info { flex:1;min-width:0; }
.php-cited-title { font-size:.82rem;font-weight:600;color:#212529;text-decoration:none;display:block;line-height:1.35; }
.php-cited-title:hover { color:var(--brand); }
.php-cited-doi { font-size:.7rem;color:#6c757d;margin-top:1px; }
.php-cited-n { font-size:.78rem;font-weight:700;color:var(--brand);flex-shrink:0; }
.php-cited-all { display:inline-flex;align-items:center;gap:4px;margin-top:.4rem;padding:.3rem .65rem;border:1px solid var(--brand);border-radius:6px;font-size:.75rem;font-weight:600;color:var(--brand);text-decoration:none; }
.php-cited-all:hover { background:var(--brand);color:#fff; }

/* Most Read */
.php-most-read-list { list-style:none;margin:0;padding:0; }
.php-most-read-item { padding:.45rem 0;border-bottom:1px solid #f0f0f0; }
.php-most-read-item:last-child { border-bottom:none; }
.php-most-read-link { text-decoration:none; }
.php-most-read-title { font-size:.82rem;font-weight:600;color:#212529;line-height:1.35; }
.php-most-read-link:hover .php-most-read-title { color:var(--brand); }
.php-most-read-views { font-size:.75rem;color:#6c757d;display:inline-flex;align-items:center;gap:3px;margin-top:2px; }

/* ── CTA SECTION ── */
.php-cta { background:#dbeafe;padding:3rem 16px;margin-top:2rem; }
.php-cta-inner { max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem; }
.php-cta-title { font-size:1.2rem;font-weight:700;color:#1e3a5f;margin:0 0 .25rem; }
.php-cta-sub { color:#374151;margin:0;font-size:.9rem; }
.php-cta-btns { display:flex;gap:.75rem;flex-wrap:wrap; }
.php-cta-btn { padding:.6rem 1.4rem;border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap;transition:opacity .15s; }
.php-cta-btn--primary { background:#1d4ed8;color:#fff;border:none; }
.php-cta-btn--primary:hover { opacity:.9;color:#fff; }
.php-cta-btn--outline { background:#fff;color:#1d4ed8;border:1px solid #1d4ed8; }
.php-cta-btn--outline:hover { background:#eff6ff; }


/* =============================================================================
   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: #fff;
  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: #fff;
}
.vf-bottom a { color: #fff; 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; }
}
/* =============================================================================
   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; }

/* =============================================================================
   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; padding: 0 16px; }

/* ── Breadcrumb ── */
.ar-crumb { background: var(--page-header-bg); border-bottom: 1px solid rgba(255,255,255,.1); 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: rgba(255,255,255,.6); }
.ar-crumb li + li::before { content: '/'; margin-right: 3px; color: rgba(255,255,255,.3); }
.ar-crumb a { color: rgba(255,255,255,.75); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; font-weight: 500; transition: color .15s; }
.ar-crumb a:hover { color: #fff; }
.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: 65px; 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 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: 65px; 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; }

/* =============================================================================
   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: 50px; /* 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-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; }

/* ═══════════════════════════════════════════════════════════════════
/* =============================================================================
   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; }
}


/* =============================================================================
   SLUG PAGES — [slug]/page.tsx + [journal]/[slug]/page.tsx rich body typography
   Class: .slug-body — Tailwind-first, only typography rules here
   ============================================================================= */

.slug-body { font-size: .97rem; line-height: 1.82; color: #1e293b; }
.slug-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);
}
.slug-body h3 { font-size: 1rem; font-weight: 700; color: var(--slate); margin: 20px 0 8px; }
.slug-body h4 { font-size: .9rem; font-weight: 700; color: #374151; margin: 16px 0 6px; }
.slug-body p  { margin: 0 0 14px; }
.slug-body a  { color: #0b5ed7; text-decoration: underline; text-underline-offset: 2px; }
.slug-body a:hover { color: var(--brand); }
.slug-body ul, .slug-body ol { margin: 0 0 14px; padding-left: 22px; }
.slug-body li { margin-bottom: 6px; }
.slug-body strong { font-weight: 700; color: var(--slate); }
.slug-body em { font-style: italic; }
.slug-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;
}
.slug-body blockquote p:last-child { margin: 0; }
.slug-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);
}
.slug-body th { background: var(--brand); color: #fff; padding: 10px 14px; text-align: left; font-weight: 700; font-size: .8rem; }
.slug-body td { border-bottom: 1px solid var(--line); padding: 9px 14px; vertical-align: top; }
.slug-body tr:nth-child(even) { background: #f8fafc; }
.slug-body tr:hover { background: #f0f9ff; }
.slug-body img { max-width: 100%; height: auto; border-radius: var(--r-sm); }
.slug-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; }
.slug-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; }
.slug-body pre code { background: none; color: inherit; padding: 0; }


/* =============================================================================
   PAGE HEADER SYSTEM — Sab public pages ke liye common header classes
   Ek jagah define, saare pages pe consistent look
   ============================================================================= */

:root {
  --page-header-bg: linear-gradient(135deg,#0f172a 0%,#1e293b 60%,#0f172a 100%);
}

/* Breadcrumb bar — header ke saath seamless */
.page-crumb {
  background: var(--page-header-bg);
  border-bottom: 1px solid rgba(255,255,255,.1);
  padding: 10px 0;
}
.page-crumb ol {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: .75rem;
}
.page-crumb li {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: rgba(255,255,255,.6);
}
.page-crumb li + li::before { content: '/'; margin-right: 2px; color: rgba(255,255,255,.25); }
.page-crumb a {
  color: rgba(255,255,255,.75);
  text-decoration: none;
  font-weight: 500;
  transition: color .15s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.page-crumb a:hover { color: #fff; }
.page-crumb .page-crumb__current { color: #fff; font-weight: 600; }

/* Hero banner */
.page-hero {
  background: var(--page-header-bg);
  padding: 12px 0 24px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 80% 50%, rgba(14,165,233,.08) 0%, transparent 60%);
}
.page-hero__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

/* Article page hero — slightly less padding, overflow visible for dropdowns */
.page-hero--article {
  padding-top: 20px;
  padding-bottom: 28px;
  overflow: visible;
}
.page-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 12px;
}

/* Main title */
.page-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  margin: 0 0 10px;
}

/* Subtitle */
.page-hero__sub {
  color: rgba(255,255,255,.65);
  font-size: .9rem;
  margin: 0 0 18px;
}

/* Stats/badge pills */
.page-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.page-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: .75rem;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 999px;
}

/* Sidebar/TOC header strip */
.page-sidebar-head {
  background: var(--page-header-bg);
  color: #fff;
  padding: 10px 16px;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Responsive */
@media (max-width: 640px) {
  .page-hero { padding: 22px 0 40px; }
  .page-hero__title { font-size: 1.4rem; }
}


/* Login/Register/Forgot-Password pages — IJECS ke original project mein ye missing thi.
   Same brand color (#003b44) use karti hai jo IJECS khud use karta hai, isliye consistent dikhega. */
.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-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}
.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}
.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}
.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-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}
.fp-btn--block{display:block;text-decoration:none;text-align:center}
.fp-mb-sm{margin-bottom:.5rem}


/* Main site + journal static pages (.iv-* only, safely extracted) — IJECS original project mein ye missing thi */

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

.iv-crumb {border-bottom:1px solid rgba(255,255,255,.06);padding:9px 0; }

.iv-crumb ol { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:.75rem; }

.iv-crumb li { display:inline-flex;align-items:center;gap:4px;color:rgba(255,255,255,.4); }

.iv-crumb li+li::before { content:'›';margin-right:4px;color:rgba(255,255,255,.2); }

.iv-crumb a { color:#000;text-decoration:none;display:inline-flex;align-items:center;gap:4px;font-weight:600;transition:color .15s; }

.iv-crumb a:hover { color:#e6a817; }

.iv-crumb li[aria-current] { color:#000; }

.iv-header {
  
  padding:28px 0 24px;position:relative;overflow:hidden;
}

.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__journal {
  font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#000;margin-bottom:10px;
  display:inline-flex;align-items:center;gap:6px;position:relative;z-index:1;
}

.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-header__label {
  font-size:clamp(1.5rem,3vw,2.1rem);font-weight:900;color:#000;
  margin:0 0 6px;line-height:1.15;font-family:var(--font-serif,Georgia,serif);
}

.iv-header__title { font-size:.95rem;color:#000;margin-bottom:12px; }

.iv-header__meta { display:flex;flex-wrap:wrap;gap:8px;font-size:.74rem;color:#000;align-items:center; }

.iv-header__meta span {
  display:inline-flex;align-items:center;gap:5px;
  background:#dbdbdb;border:1px solid rgba(255,255,255,.1);
  padding:3px 10px;border-radius:999px;
}

.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; }

.iv-outer { background:#fff;min-height:60vh; }

.iv-page-grid {
  display:grid;
  grid-template-columns:230px 1fr;
  gap:24px;
  align-items:flex-start;
  padding:24px 0 60px;
}

@media (max-width:900px) { .iv-page-grid{grid-template-columns:1fr;} }

@media (max-width:900px) { .iv-toc-col{display:none;} }

.iv-toc-col { position:sticky;top:80px;height:fit-content; }

.iv-toc-card {
  background:#fff;
  border:1px solid rgba(0,59,68,.1);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(0,59,68,.06);
}

.iv-toc-head {
  display:flex;align-items:center;gap:7px;
  background:#003b44;color:#e6a817;
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
  padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.08);
}

.iv-toc-body { padding:6px 0; }

.iv-toc-body ul { list-style:none;margin:0;padding:0; }

.iv-toc-body li { margin:0; }

.iv-sec-link {
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 14px;color:#374151;text-decoration:none;
  font-size:.79rem;font-weight:500;
  border-left:2px solid transparent;
  transition:all .15s;
}

.iv-sec-link:hover { background:rgba(0,59,68,.05);color:#003b44;border-left-color:#003b44; }

.iv-sec-link--active {
  font-weight:700;color:#003b44;
  background:rgba(0,59,68,.06);
  border-left:3px solid #e6a817;padding-left:11px;
}

.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-main { min-width:0; }

.iv-issue-hd__top { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px; }

.iv-issue-hd__title { font-size:1.15rem;font-weight:800;color:#0b1220;margin:0; }

.iv-issue-hd__date { color:#64748b;font-size:.82rem;margin:3px 0 0; }

.iv-issue-hd__desc { font-size:.88rem;line-height:1.7;color:#374151;margin:10px 0; }

.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-divider { border:none;border-top:2px solid #e6a817;margin:12px 0 18px;width:40px; }

.iv-empty { padding:40px;text-align:center;color:#64748b;font-size:.9rem;background:#fff;border-radius:12px;border:1px solid #e9ecef; }

.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-card {
  background:#fff;
  border:1px solid rgba(0,59,68,.09);
  border-left:3px solid transparent;
  border-radius:12px;
  padding:5px 5px;
  margin-bottom:12px;
  box-shadow:0 1px 4px rgba(2,6,23,.04);
  transition:box-shadow .2s,border-left-color .2s,transform .2s;
}

.iv-art-card:hover {
  box-shadow:0 8px 24px rgba(0,59,68,.1);
  border-left-color:#e6a817;
  transform:translateY(-1px);
}

.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-badges { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }

.iv-badge-oa {
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(0,59,68,.07);color:#003b44;
  border:1px solid rgba(0,59,68,.18);
  border-radius:999px;padding:2px 9px;
  font-size:.68rem;font-weight:700;
}

.iv-badge-section {
  background:#f1f5f9;color:#475569;
  border:1px solid #e2e8f0;
  border-radius:999px;padding:2px 9px;
  font-size:.68rem;font-weight:600;
}

.iv-art-title { font-size:1.02rem;font-weight:700;color:#0b1220;margin:0 0 7px;line-height:1.4; }

.iv-art-title a { color:inherit;text-decoration:none;transition:color .15s; }

.iv-art-title a:hover { color:#003b44; }

.iv-art-authors { display:flex;align-items:flex-start;gap:6px;font-size:.81rem;color:#374151;margin-bottom:6px;font-weight:500; }

.iv-art-authors svg { flex-shrink:0;margin-top:2px;color:#003b44;opacity:.7; }

.iv-art-doi { font-size:.75rem;margin-bottom:8px; }

.iv-art-doi a {
  color:#003b44;text-decoration:none;
  display:inline-flex;align-items:center;gap:4px;
  font-family:var(--font-mono,monospace);
  transition:color .15s;
}

.iv-art-doi a:hover { color:#e6a817;text-decoration:underline; }

.iv-art-stats { display:flex;flex-wrap:wrap;gap:12px;font-size:.73rem;color:#64748b;margin-bottom:12px; }

.iv-art-stats span { display:inline-flex;align-items:center;gap:4px; }

.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:8px;
  font-size:.78rem;font-weight:700;
  text-decoration:none;transition:all .15s;
  border:1.5px solid transparent;
}

.iv-btn--primary { background:#003b44;color:#fff;border-color:#003b44; }

.iv-btn--primary:hover { background:#005060;border-color:#005060; }

.iv-btn--pdf { background:transparent;color:#003b44;border-color:rgba(0,59,68,.3); }

.iv-btn--pdf:hover { background:rgba(0,59,68,.06);border-color:rgba(0,59,68,.5); }

.iv-back-row { padding:20px 0 8px; }

.iv-back-link { display:inline-flex;align-items:center;gap:6px;font-size:.83rem;font-weight:700;color:#003b44;text-decoration:none; }

.iv-back-link:hover { color:#e6a817; }

@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);}
