/* =========================================================
   IJPASR — International Journal of Pharmaceutical Sciences
   And Research. Custom theme on top of Bootstrap 5.
   Edit CSS variables in :root to re-skin globally.
   ========================================================= */

:root{
  --ij-navy:#0b2a4a;
  --ij-navy-2:#0f3a66;
  --ij-teal:#0fb5ad;
  --ij-teal-2:#13c2bd;
  --ij-accent:#f4b740;
  --ij-bg:#ffffff;
  --ij-surface:#f6f9fc;
  --ij-surface-2:#eef3f8;
  --ij-text:#1b2733;
  --ij-muted:#5b6b7a;
  --ij-border:#e3eaf1;
  --ij-shadow: 0 10px 30px -12px rgba(11,42,74,.18);
  --ij-shadow-lg: 0 20px 50px -20px rgba(11,42,74,.28);
  --ij-radius: 14px;
  --ij-gradient: linear-gradient(135deg,var(--ij-navy) 0%, var(--ij-navy-2) 45%, var(--ij-teal) 100%);
  --ij-gradient-soft: linear-gradient(135deg,#eaf3fb 0%, #e6fbf8 100%);
}

[data-theme="dark"]{
  --ij-bg:#0a1422;
  --ij-surface:#0f1d31;
  --ij-surface-2:#13243d;
  --ij-text:#e7eef7;
  --ij-muted:#9bb0c6;
  --ij-border:#1c2f4a;
  --ij-shadow: 0 10px 30px -12px rgba(0,0,0,.6);
}

*{ -webkit-font-smoothing:antialiased; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  background:var(--ij-bg);
  color:var(--ij-text);
  line-height:1.65;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Plus Jakarta Sans','Inter',sans-serif;
  font-weight:700;
  color:var(--ij-text);
  letter-spacing:-.01em;
}
a{ color:var(--ij-navy-2); text-decoration:none; transition:color .2s; }
a:hover{ color:var(--ij-teal); }

/* ---------- Loader ---------- */
#ij-loader{
  position:fixed; inset:0; z-index:9999;
  background:var(--ij-bg);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .5s ease, visibility .5s ease;
}
#ij-loader.hide{ opacity:0; visibility:hidden; }
.ij-spinner{
  width:64px; height:64px; border-radius:50%;
  border:4px solid var(--ij-surface-2);
  border-top-color:var(--ij-teal);
  animation:ij-spin .8s linear infinite;
}
@keyframes ij-spin{ to{ transform:rotate(360deg); } }

/* ---------- Top bar ---------- */
.ij-topbar{
  background:var(--ij-navy);
  color:#cfe2f3;
  font-size:.825rem;
  padding:.55rem 0;
}
.ij-topbar a{ color:#cfe2f3; }
.ij-topbar a:hover{ color:#fff; }
.ij-topbar .sep{ opacity:.4; margin:0 .6rem; }

/* ---------- Navbar ---------- */
.ij-navbar{
  background:var(--ij-bg);
  border-bottom:1px solid var(--ij-border);
  transition:box-shadow .3s, padding .3s;
}
.ij-navbar.scrolled{ box-shadow:var(--ij-shadow); }
.ij-brand{ display:flex; align-items:center; gap:.7rem; }
.ij-brand img{ height:46px; width:auto; }
.ij-brand .b-title{ font-weight:800; color:var(--ij-navy); line-height:1.1; font-size:1.05rem; }
.ij-brand .b-sub{ font-size:.72rem; color:var(--ij-muted); letter-spacing:.04em; text-transform:uppercase; }
.navbar-nav .nav-link{
  color:var(--ij-text)!important;
  font-weight:500;
  padding:.75rem 1rem!important;
  position:relative;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{ color:var(--ij-teal)!important; }
.navbar-nav .nav-link.active::after{
  content:""; position:absolute; left:1rem; right:1rem; bottom:.35rem;
  height:2px; background:var(--ij-teal); border-radius:2px;
}

/* Mega menu */
.ij-megamenu{
  min-width:560px; padding:1.25rem; border:0;
  box-shadow:var(--ij-shadow-lg); border-radius:var(--ij-radius);
  background:var(--ij-bg);
}
.ij-megamenu h6{ font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ij-muted); margin-bottom:.6rem; }
.ij-megamenu a{ display:block; padding:.4rem 0; color:var(--ij-text); font-size:.92rem; }
.ij-megamenu a:hover{ color:var(--ij-teal); }

/* ---------- Buttons ---------- */
.btn-ij-primary{
  background:var(--ij-gradient);
  color:#fff!important; border:0;
  padding:.7rem 1.4rem; border-radius:10px;
  font-weight:600; letter-spacing:.01em;
  box-shadow:0 8px 20px -8px rgba(15,181,173,.55);
  transition:transform .2s, box-shadow .2s, filter .2s;
}
.btn-ij-primary:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 14px 26px -10px rgba(15,181,173,.7); }
.btn-ij-outline{
  background:transparent; color:var(--ij-navy); border:1.5px solid var(--ij-border);
  padding:.65rem 1.3rem; border-radius:10px; font-weight:600;
  transition:all .2s;
}
.btn-ij-outline:hover{ border-color:var(--ij-teal); color:var(--ij-teal); }
.btn-ij-ghost{
  background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.25);
  padding:.65rem 1.3rem; border-radius:10px; font-weight:600;
}
.btn-ij-ghost:hover{ background:rgba(255,255,255,.15); color:#fff; }

/* ---------- Hero ---------- */
.ij-hero{
  position:relative; overflow:hidden;
  background: linear-gradient(120deg, rgba(11,42,74,.92) 0%, rgba(15,58,102,.85) 50%, rgba(15,181,173,.65) 100%), url('../images/hero.jpg') center/cover no-repeat;
  color:#fff;
  padding:6rem 0 7rem;
}
.ij-hero::before{
  content:""; position:absolute; inset:0;
  background-image: radial-gradient(circle at 20% 80%, rgba(19,194,189,.25), transparent 40%);
  pointer-events:none;
}
.ij-hero .badge-pill{
  display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25);
  padding:.4rem .9rem; border-radius:999px; font-size:.8rem; backdrop-filter: blur(8px);
}
.ij-hero h1{ color:#fff; font-size:clamp(2rem,4vw,3.4rem); line-height:1.15; }
.ij-hero p.lead{ color:#d6e7f5; max-width:640px; }
.ij-hero .stat-strip{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15);
  border-radius:var(--ij-radius); padding:1.2rem; backdrop-filter:blur(10px);
}
.ij-hero .stat-strip .v{ font-size:1.5rem; font-weight:800; }
.ij-hero .stat-strip .l{ font-size:.78rem; color:#cfe2f3; text-transform:uppercase; letter-spacing:.06em; }

/* ---------- Section ---------- */
.ij-section{ padding:5rem 0; }
.ij-section.alt{ background:var(--ij-surface); }
.ij-eyebrow{
  display:inline-block; color:var(--ij-teal); font-weight:700;
  text-transform:uppercase; font-size:.78rem; letter-spacing:.14em;
  margin-bottom:.75rem;
}
.ij-section h2{ font-size:clamp(1.6rem,2.6vw,2.4rem); margin-bottom:.5rem; }
.ij-section .sec-sub{ color:var(--ij-muted); max-width:680px; }

/* ---------- Cards ---------- */
.ij-card{
  background:var(--ij-bg);
  border:1px solid var(--ij-border);
  border-radius:var(--ij-radius);
  padding:1.5rem;
  transition:transform .25s, box-shadow .25s, border-color .25s;
  height:100%;
}
.ij-card:hover{ transform:translateY(-4px); box-shadow:var(--ij-shadow); border-color:transparent; }
.ij-card .ic{
  width:52px; height:52px; border-radius:12px;
  background:var(--ij-gradient-soft); color:var(--ij-navy);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; margin-bottom:1rem;
}
.ij-card h5{ margin-bottom:.4rem; }
.ij-card p{ color:var(--ij-muted); margin:0; font-size:.94rem; }

/* Article card */
.ij-article{
  background:var(--ij-bg); border:1px solid var(--ij-border);
  border-radius:var(--ij-radius); padding:1.4rem;
  transition:all .25s; height:100%;
  display:flex; flex-direction:column;
}
.ij-article:hover{ box-shadow:var(--ij-shadow); border-color:transparent; transform:translateY(-3px); }
.ij-article .meta{ font-size:.78rem; color:var(--ij-muted); display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:.7rem; }
.ij-article .tag{
  background:var(--ij-surface-2); color:var(--ij-navy);
  padding:.2rem .6rem; border-radius:999px; font-weight:600; font-size:.72rem;
}
.ij-article h5{ font-size:1.05rem; line-height:1.35; margin-bottom:.6rem; }
.ij-article h5 a{ color:var(--ij-text); }
.ij-article h5 a:hover{ color:var(--ij-teal); }
.ij-article .authors{ color:var(--ij-muted); font-size:.85rem; }
.ij-article .doi{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:.78rem; color:var(--ij-navy-2);
  background:var(--ij-surface); padding:.35rem .6rem; border-radius:8px;
  display:inline-block; margin-top:.6rem;
}
.ij-article .footer{
  margin-top:auto; padding-top:1rem; display:flex; justify-content:space-between; align-items:center;
  border-top:1px dashed var(--ij-border);
}
.ij-pdf{
  background:var(--ij-navy); color:#fff!important;
  padding:.45rem .85rem; border-radius:8px; font-size:.82rem; font-weight:600;
  display:inline-flex; gap:.4rem; align-items:center;
}
.ij-pdf:hover{ background:var(--ij-teal); }

/* ---------- Process steps ---------- */
.ij-step{
  background:var(--ij-bg); border:1px solid var(--ij-border);
  border-radius:var(--ij-radius); padding:1.6rem 1.4rem;
  position:relative; height:100%; transition:all .25s;
}
.ij-step:hover{ box-shadow:var(--ij-shadow); transform:translateY(-3px); }
.ij-step .num{
  position:absolute; top:-18px; left:1.4rem;
  width:38px; height:38px; border-radius:10px;
  background:var(--ij-gradient); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--ij-shadow);
}
.ij-step h6{ margin:.5rem 0 .4rem; font-weight:700; }
.ij-step p{ color:var(--ij-muted); font-size:.9rem; margin:0; }

/* ---------- Indexing strip ---------- */
.ij-indexing{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1rem;
}
.ij-indexing .lg{
  background:var(--ij-bg); border:1px solid var(--ij-border);
  border-radius:12px; padding:1rem; text-align:center;
  font-weight:700; color:var(--ij-navy); font-size:.95rem;
  display:flex; align-items:center; justify-content:center; min-height:80px;
  transition:all .2s;
}
.ij-indexing .lg:hover{ border-color:var(--ij-teal); color:var(--ij-teal); }
@media(max-width:992px){ .ij-indexing{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:576px){ .ij-indexing{ grid-template-columns:repeat(2,1fr); } }

/* ---------- Stats ---------- */
.ij-stats{
  background:var(--ij-gradient); color:#fff;
  border-radius:var(--ij-radius);
  padding:3rem 2rem;
}
.ij-stats .num{ font-size:2.6rem; font-weight:800; }
.ij-stats .lab{ color:#d6e7f5; font-size:.9rem; text-transform:uppercase; letter-spacing:.06em; }

/* ---------- Sidebar widgets ---------- */
.ij-widget{
  background:var(--ij-bg); border:1px solid var(--ij-border);
  border-radius:var(--ij-radius); padding:1.3rem; margin-bottom:1.25rem;
}
.ij-widget h6{ text-transform:uppercase; font-size:.78rem; letter-spacing:.1em; color:var(--ij-muted); margin-bottom:.9rem; }
.ij-widget ul{ list-style:none; padding:0; margin:0; }
.ij-widget ul li{ padding:.45rem 0; border-bottom:1px dashed var(--ij-border); font-size:.92rem; }
.ij-widget ul li:last-child{ border-bottom:0; }

/* ---------- Forms ---------- */
.form-control, .form-select{
  border:1.5px solid var(--ij-border); border-radius:10px; padding:.7rem 1rem;
  background:var(--ij-bg); color:var(--ij-text);
}
.form-control:focus, .form-select:focus{
  border-color:var(--ij-teal); box-shadow:0 0 0 4px rgba(15,181,173,.15);
}

/* ---------- FAQ ---------- */
.accordion-button{
  background:var(--ij-bg); color:var(--ij-text); font-weight:600;
  border-radius:12px!important; box-shadow:none!important;
  border:1px solid var(--ij-border)!important; margin-bottom:.6rem;
}
.accordion-button:not(.collapsed){
  color:var(--ij-teal); background:var(--ij-surface);
}
.accordion-item{ border:0; background:transparent; }
.accordion-body{ color:var(--ij-muted); padding-top:.5rem; }

/* ---------- Footer ---------- */
.ij-footer{
  background:#08182b; color:#a9bdd3; padding:4rem 0 1.5rem;
}
.ij-footer h6{ color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:1.2rem; }
.ij-footer a{ color:#a9bdd3; display:block; padding:.3rem 0; font-size:.92rem; }
.ij-footer a:hover{ color:var(--ij-teal-2); }
.ij-footer .copy{ border-top:1px solid #14304f; margin-top:2.5rem; padding-top:1.3rem; font-size:.85rem; color:#7e94ad; }
.ij-footer .social a{
  display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center;
  background:#11253c; color:#fff; border-radius:10px; margin-right:.5rem;
  transition:all .2s;
}
.ij-footer .social a:hover{ background:var(--ij-teal); transform:translateY(-3px); }

/* ---------- Newsletter ---------- */
.ij-news{
  background:var(--ij-gradient);
  color:#fff; border-radius:var(--ij-radius);
  padding:3rem 2rem;
}
.ij-news .form-control{ border:0; padding:.9rem 1.2rem; }

/* ---------- Page header ---------- */
.ij-pagehead{
  background:var(--ij-gradient); color:#fff; padding:3.5rem 0 3rem;
  position:relative; overflow:hidden;
}
.ij-pagehead::after{
  content:""; position:absolute; right:-50px; top:-50px; width:300px; height:300px;
  background:radial-gradient(circle, rgba(255,255,255,.12), transparent 70%);
}
.ij-pagehead h1{ color:#fff; font-size:2.2rem; margin:0; }
.ij-pagehead .crumbs{ color:#cfe2f3; font-size:.9rem; }
.ij-pagehead .crumbs a{ color:#fff; }

/* ---------- Back to top ---------- */
#ij-top{
  position:fixed; right:1.2rem; bottom:1.2rem; z-index:999;
  width:46px; height:46px; border-radius:50%;
  background:var(--ij-gradient); color:#fff; border:0;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--ij-shadow-lg);
  opacity:0; pointer-events:none; transition:opacity .3s, transform .3s;
}
#ij-top.show{ opacity:1; pointer-events:auto; }
#ij-top:hover{ transform:translateY(-3px); }

/* ---------- Theme toggle ---------- */
.ij-theme-toggle{
  width:40px; height:40px; border-radius:10px;
  background:var(--ij-surface); color:var(--ij-text); border:1px solid var(--ij-border);
  display:inline-flex; align-items:center; justify-content:center;
  transition:all .2s;
}
.ij-theme-toggle:hover{ color:var(--ij-teal); border-color:var(--ij-teal); }

/* ---------- Tables ---------- */
.table.ij-table{
  border:1px solid var(--ij-border); border-radius:var(--ij-radius); overflow:hidden;
  background:var(--ij-bg);
}
.table.ij-table thead{ background:var(--ij-surface); }
.table.ij-table th{ color:var(--ij-navy); font-weight:700; font-size:.85rem; text-transform:uppercase; letter-spacing:.05em; }
.table.ij-table td, .table.ij-table th{ padding:.95rem 1rem; vertical-align:middle; border-color:var(--ij-border); color:var(--ij-text); }

/* ---------- Author profile ---------- */
.ij-author{
  background:var(--ij-bg); border:1px solid var(--ij-border);
  border-radius:var(--ij-radius); padding:1.5rem; text-align:center;
  transition:all .25s; height:100%;
}
.ij-author:hover{ box-shadow:var(--ij-shadow); transform:translateY(-3px); }
.ij-author .av{
  width:96px; height:96px; border-radius:50%; margin:0 auto 1rem;
  background:var(--ij-gradient); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:2rem; font-weight:700;
}
.ij-author h6{ margin-bottom:.2rem; }
.ij-author .role{ color:var(--ij-teal); font-size:.85rem; font-weight:600; }
.ij-author .aff{ color:var(--ij-muted); font-size:.85rem; margin-top:.3rem; }

/* ---------- Animations ---------- */
.fade-up{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.fade-up.in{ opacity:1; transform:none; }

/* ---------- Workflow infographic ---------- */
.ij-workflow{
  display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; position:relative;
}
.ij-workflow::before{
  content:""; position:absolute; top:32px; left:5%; right:5%; height:2px;
  background:linear-gradient(90deg,var(--ij-teal),var(--ij-navy));
  z-index:0;
}
.ij-workflow .node{
  position:relative; z-index:1; text-align:center;
  background:var(--ij-bg); border:1px solid var(--ij-border); border-radius:var(--ij-radius);
  padding:1.2rem .8rem;
}
.ij-workflow .node .dot{
  width:64px; height:64px; border-radius:50%;
  background:var(--ij-gradient); color:#fff;
  display:flex; align-items:center; justify-content:center;
  margin:-44px auto .8rem; font-size:1.4rem; box-shadow:var(--ij-shadow);
}
.ij-workflow .node h6{ font-size:.9rem; margin:0; }
@media(max-width:768px){
  .ij-workflow{ grid-template-columns:repeat(2,1fr); }
  .ij-workflow::before{ display:none; }
}

/* ---------- Testimonial ---------- */
.ij-testi{
  background:var(--ij-bg); border:1px solid var(--ij-border);
  border-radius:var(--ij-radius); padding:1.6rem; height:100%;
}
.ij-testi p{ color:var(--ij-text); font-style:italic; }
.ij-testi .who{ display:flex; align-items:center; gap:.7rem; margin-top:1rem; }
.ij-testi .who .av{
  width:44px; height:44px; border-radius:50%;
  background:var(--ij-gradient); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700;
}
.ij-testi .who .nm{ font-weight:700; font-size:.92rem; }
.ij-testi .who .rl{ color:var(--ij-muted); font-size:.8rem; }

/* ---------- Map placeholder ---------- */
.ij-map{
  background:var(--ij-surface-2);
  border:1px solid var(--ij-border); border-radius:var(--ij-radius);
  height:340px; display:flex; align-items:center; justify-content:center;
  color:var(--ij-muted); position:relative; overflow:hidden;
}
.ij-map::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(15,181,173,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,181,173,.08) 1px, transparent 1px);
  background-size:32px 32px;
}

/* ---------- Hero stat strip mobile ---------- */
@media(max-width:768px){
  .ij-hero{ padding:4rem 0 5rem; }
  .ij-hero .stat-strip{ grid-template-columns:repeat(2,1fr); }
}
