/* =========================================
   SCIENTIA THEME - COMPONENTS CSS
   ========================================= */

/* ── BUTTONS ─────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  font-family: var(--font-ui); font-weight: 600; font-size: var(--text-sm);
  padding: var(--space-3) var(--space-5); border-radius: var(--radius-md);
  border: 2px solid transparent; cursor: pointer; text-decoration: none;
  transition: all var(--transition-base); line-height: 1; white-space: nowrap;
  position: relative; overflow: hidden;
}
.btn::before { content:''; position:absolute; inset:0; background:rgba(255,255,255,0.1); opacity:0; transition:opacity var(--transition-fast); }
.btn:hover::before { opacity:1; }
.btn:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; }
.btn--primary   { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.btn--primary:hover { background:var(--color-primary-light); border-color:var(--color-primary-light); }
.btn--accent    { background:var(--color-accent); color:#fff; border-color:var(--color-accent); }
.btn--accent:hover { background:var(--color-accent-light); }
.btn--outline   { background:transparent; color:var(--color-primary); border-color:var(--color-primary); }
.btn--outline:hover { background:var(--color-primary); color:#fff; }
.btn--outline-white { background:transparent; color:#fff; border-color:rgba(255,255,255,0.7); }
.btn--outline-white:hover { background:rgba(255,255,255,0.15); }
.btn--ghost     { background:transparent; color:var(--color-text-muted); border-color:transparent; }
.btn--ghost:hover { background:var(--color-bg-alt); color:var(--color-text); }
.btn--white     { background:#fff; color:var(--color-primary); border-color:#fff; }
.btn--white:hover { background:var(--color-bg-alt); }
.btn--danger    { background:var(--color-danger); color:#fff; border-color:var(--color-danger); }
.btn--sm  { padding:var(--space-2) var(--space-4); font-size:var(--text-xs); }
.btn--lg  { padding:var(--space-4) var(--space-8); font-size:var(--text-base); }
.btn--full { width:100%; }
.btn:disabled { opacity:.5; cursor:not-allowed; }

/* ── BADGES ──────────────────────────── */
.badge {
  display:inline-flex; align-items:center; gap:var(--space-1);
  font-family:var(--font-ui); font-size:var(--text-xs); font-weight:600;
  padding:var(--space-1) var(--space-3); border-radius:var(--radius-full);
  text-decoration:none; transition:all var(--transition-fast);
}
.badge--category { background:rgba(13,43,78,.08); color:var(--color-primary); }
.badge--category:hover { background:var(--color-primary); color:#fff; }
.badge--featured { background:rgba(200,146,42,.12); color:var(--color-accent); }
.badge--open-access { background:rgba(26,122,74,.1); color:var(--color-success); }
.badge--language { background:var(--color-bg-alt); color:var(--color-text-muted); border:1px solid var(--color-border); }

/* ── TOPBAR ──────────────────────────── */
.scientia-topbar {
  background:var(--color-primary); color:rgba(255,255,255,.85);
  font-family:var(--font-ui); font-size:var(--text-xs); line-height:1;
}
.topbar-inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--space-4); padding:var(--space-2) 0; min-height:36px;
}
.topbar-left, .topbar-right { display:flex; align-items:center; gap:var(--space-4); }
.topbar-issn { font-weight:500; opacity:.9; }
.topbar-issn strong { color:#fff; }
.topbar-date { opacity:.7; }
.topbar-nav { display:flex; gap:var(--space-4); list-style:none; }
.topbar-nav a { color:rgba(255,255,255,.8); text-decoration:none; transition:color var(--transition-fast); }
.topbar-nav a:hover { color:#fff; }
.dark-mode-toggle {
  background:none; border:1px solid rgba(255,255,255,.2); color:#fff; cursor:pointer;
  padding:var(--space-1) var(--space-2); border-radius:var(--radius-sm);
  transition:all var(--transition-fast); font-size:var(--text-xs); line-height:1;
}
.dark-mode-toggle:hover { background:rgba(255,255,255,.1); }
[data-theme="dark"] .icon-sun { display:inline; }
[data-theme="dark"] .icon-moon { display:none; }
[data-theme="light"] .icon-sun { display:none; }
[data-theme="light"] .icon-moon { display:inline; }
.icon-sun, .icon-moon { display:inline; }

/* ── HEADER ──────────────────────────── */
.scientia-header {
  background:var(--color-surface); border-bottom:1px solid var(--color-border);
  position:sticky; top:0; z-index:100;
  transition:transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}
.scientia-header.is-sticky { box-shadow:var(--shadow-md); }
.scientia-header.is-hidden { transform:translateY(-100%); }
.header-inner {
  display:flex; align-items:center; gap:var(--space-6);
  padding:var(--space-4) 0; min-height:72px;
}
.header-brand { flex-shrink:0; }
.header-brand .custom-logo-link img { height:52px; width:auto; }
.site-title-link { text-decoration:none; }
.site-title { display:block; font-family:var(--font-display); font-size:var(--text-xl); font-weight:700; color:var(--color-primary); line-height:1.2; }
.site-tagline { display:block; font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); margin-top:2px; }
.primary-nav { flex:1; }
.nav-menu {
  display:flex; align-items:center; gap:var(--space-1);
  list-style:none; margin:0; padding:0;
}
.nav-menu > li { position:relative; }
.nav-menu > li > a {
  font-family:var(--font-ui); font-size:var(--text-sm); font-weight:500;
  color:var(--color-text); padding:var(--space-2) var(--space-3); border-radius:var(--radius-sm);
  text-decoration:none; display:flex; align-items:center; gap:var(--space-1);
  transition:all var(--transition-fast);
}
.nav-menu > li > a:hover,
.nav-menu > li.current-menu-item > a { color:var(--color-primary); background:var(--color-bg-alt); }
/* Dropdown */
.nav-menu .sub-menu {
  position:absolute; top:calc(100% + 8px); left:0; z-index:200;
  background:var(--color-surface); border:1px solid var(--color-border);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-xl);
  min-width:220px; padding:var(--space-2); list-style:none;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:all var(--transition-base);
}
.nav-menu li:hover > .sub-menu,
.nav-menu li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.nav-menu .sub-menu a {
  display:block; padding:var(--space-2) var(--space-3); border-radius:var(--radius-sm);
  font-family:var(--font-ui); font-size:var(--text-sm); color:var(--color-text);
  text-decoration:none; transition:all var(--transition-fast);
}
.nav-menu .sub-menu a:hover { background:var(--color-bg-alt); color:var(--color-primary); }
.header-actions { display:flex; align-items:center; gap:var(--space-3); flex-shrink:0; }
.search-toggle {
  background:none; border:none; cursor:pointer; color:var(--color-text);
  padding:var(--space-2); border-radius:var(--radius-sm);
  transition:all var(--transition-fast); display:flex; align-items:center;
}
.search-toggle:hover { color:var(--color-primary); background:var(--color-bg-alt); }
.header-submit-btn { display:none; }
@media(min-width:1024px){ .header-submit-btn { display:inline-flex; } }
.mobile-menu-toggle {
  display:none; flex-direction:column; gap:5px; background:none; border:none;
  cursor:pointer; padding:var(--space-2); border-radius:var(--radius-sm);
}
.mobile-menu-toggle span { display:block; width:22px; height:2px; background:var(--color-text); border-radius:2px; transition:all var(--transition-base); }
@media(max-width:1023px){ .mobile-menu-toggle{display:flex;} .primary-nav{display:none;} }

/* Search panel */
.header-search-panel {
  position:absolute; top:100%; left:0; right:0; z-index:99;
  background:var(--color-surface); border-bottom:1px solid var(--color-border);
  box-shadow:var(--shadow-lg); padding:var(--space-5) 0;
  opacity:0; transform:translateY(-10px); pointer-events:none;
  transition:all var(--transition-base);
}
.header-search-panel.is-open { opacity:1; transform:translateY(0); pointer-events:all; }
.header-search-panel[hidden] { display:none; }
.search-input-group { display:flex; gap:var(--space-2); align-items:center; }
.search-input-group input {
  flex:1; font-family:var(--font-ui); font-size:var(--text-base);
  padding:var(--space-3) var(--space-4) var(--space-3) var(--space-10);
  border:2px solid var(--color-border); border-radius:var(--radius-md);
  background:var(--color-bg); color:var(--color-text);
  transition:border-color var(--transition-fast);
}
.search-input-group input:focus { outline:none; border-color:var(--color-primary); }
.search-icon { position:absolute; left:var(--space-3); top:50%; transform:translateY(-50%); color:var(--color-text-light); pointer-events:none; }
.search-close { background:none; border:none; cursor:pointer; font-size:var(--text-lg); color:var(--color-text-muted); padding:var(--space-2); }
.header-search-results { margin-top:var(--space-3); }
.search-result-item {
  display:flex; align-items:center; gap:var(--space-3); padding:var(--space-3);
  border-radius:var(--radius-md); text-decoration:none; transition:background var(--transition-fast);
}
.search-result-item:hover { background:var(--color-bg-alt); }
.search-result-thumb { width:48px; height:48px; object-fit:cover; border-radius:var(--radius-sm); flex-shrink:0; }
.search-result-title { display:block; font-family:var(--font-ui); font-weight:600; font-size:var(--text-sm); color:var(--color-text); }
.search-result-meta  { display:block; font-size:var(--text-xs); color:var(--color-text-muted); margin-top:2px; }
.search-all-results  { display:block; text-align:center; padding:var(--space-3); font-size:var(--text-sm); font-weight:600; color:var(--color-secondary); border-top:1px solid var(--color-border); margin-top:var(--space-2); }
.search-loading, .search-no-results, .search-error { text-align:center; padding:var(--space-4); color:var(--color-text-muted); font-size:var(--text-sm); }

/* Mobile menu */
.mobile-menu {
  position:fixed; inset:0; z-index:200;
  background:rgba(0,0,0,0.5);
  opacity:0; transition:opacity var(--transition-base);
}
.mobile-menu.is-open { opacity:1; }
.mobile-menu[hidden] { display:none; }
.mobile-menu-inner {
  position:absolute; right:0; top:0; bottom:0; width:min(320px, 90vw);
  background:var(--color-surface); padding:var(--space-8) var(--space-6);
  overflow-y:auto; transform:translateX(100%); transition:transform var(--transition-base);
}
.mobile-menu.is-open .mobile-menu-inner { transform:translateX(0); }
.mobile-menu-close { background:none; border:none; font-size:var(--text-xl); cursor:pointer; position:absolute; top:var(--space-4); right:var(--space-4); color:var(--color-text-muted); }
.mobile-nav-menu { list-style:none; margin-top:var(--space-8); }
.mobile-nav-menu li + li { border-top:1px solid var(--color-border-light); }
.mobile-nav-menu a { display:block; padding:var(--space-4) 0; font-family:var(--font-ui); font-weight:500; color:var(--color-text); text-decoration:none; }
.mobile-submit-btn { margin-top:var(--space-6); }

/* ── HERO SECTION ────────────────────── */
.hero-section {
  position:relative; min-height:min(90vh,700px); display:flex; align-items:center;
  overflow:hidden; background:var(--color-primary);
}
.hero-bg { position:absolute; inset:0; }
.hero-bg-img { width:100%; height:100%; object-fit:cover; opacity:.25; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(13,43,78,.92) 0%, rgba(46,109,164,.75) 100%); }
.hero-grid {
  position:absolute; inset:0; opacity:.06;
  background-image: linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size: 40px 40px;
}
.hero-container { position:relative; z-index:1; display:grid; grid-template-columns:1fr 360px; gap:var(--space-12); align-items:center; padding:var(--space-20) 0; }
@media(max-width:1100px){ .hero-container{grid-template-columns:1fr; max-width:640px; } }
.hero-content { color:#fff; }
.hero-badge {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-ui); font-size:var(--text-xs); font-weight:600; text-transform:uppercase; letter-spacing:.08em;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  padding:var(--space-2) var(--space-4); border-radius:var(--radius-full);
  margin-bottom:var(--space-5); backdrop-filter:blur(10px);
}
.badge-dot { width:8px; height:8px; border-radius:50%; background:var(--color-accent); animation:pulse-glow 2s infinite; }
.hero-title { font-size:clamp(2rem,5vw,3.5rem); color:#fff; line-height:1.15; margin-bottom:var(--space-5); }
.hero-subtitle { font-size:var(--text-lg); color:rgba(255,255,255,.8); margin-bottom:var(--space-8); max-width:560px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-bottom:var(--space-10); }
.hero-stats { display:flex; align-items:center; gap:var(--space-8); flex-wrap:wrap; }
.hero-stat { text-align:left; }
.stat-number { display:block; font-family:var(--font-display); font-size:var(--text-3xl); font-weight:700; color:#fff; line-height:1; }
.stat-label  { display:block; font-family:var(--font-ui); font-size:var(--text-xs); color:rgba(255,255,255,.7); margin-top:4px; text-transform:uppercase; letter-spacing:.06em; }
.hero-stat-divider { width:1px; height:40px; background:rgba(255,255,255,.2); }
.hero-search-panel {
  background:var(--color-surface); border-radius:var(--radius-xl);
  padding:var(--space-6); box-shadow:var(--shadow-xl); position:relative;
}
.hero-search-title { font-size:var(--text-xl); color:var(--color-primary); margin-bottom:var(--space-4); }
.hero-search-input-wrap { position:relative; margin-bottom:var(--space-3); }
.hero-search-input {
  width:100%; padding:var(--space-4) var(--space-5); font-family:var(--font-ui); font-size:var(--text-sm);
  border:2px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg);
  color:var(--color-text); transition:border-color var(--transition-fast);
}
.hero-search-input:focus { outline:none; border-color:var(--color-primary); }
.hero-search-filters { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2); margin-bottom:var(--space-3); }
.search-filter-select {
  width:100%; padding:var(--space-2) var(--space-3); font-family:var(--font-ui); font-size:var(--text-sm);
  border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg);
  color:var(--color-text); cursor:pointer;
}
.hero-search-btn { margin-bottom:var(--space-2); }
.hero-search-advanced { display:block; text-align:center; font-size:var(--text-xs); color:var(--color-secondary); text-decoration:none; }
.hero-search-results { border-top:1px solid var(--color-border); margin-top:var(--space-3); max-height:280px; overflow-y:auto; }

/* ── SECTION HEADERS ─────────────────── */
.section-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  flex-wrap:wrap; gap:var(--space-4); margin-bottom:var(--space-10);
}
.section-header-left { display:flex; flex-direction:column; gap:var(--space-2); }
.section-label {
  font-family:var(--font-ui); font-size:var(--text-xs); font-weight:700;
  text-transform:uppercase; letter-spacing:.1em; color:var(--color-accent);
}
.section-title { font-size:var(--text-3xl); color:var(--color-primary); margin:0; }
[data-theme="dark"] .section-title { color:var(--color-dark-text); }
.section-more-link { flex-shrink:0; }
.bg-alt { background:var(--color-bg-alt); }

/* ── ARTICLE CARDS ───────────────────── */
.articles-grid {
  display:grid; gap:var(--space-6);
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.articles-grid--2 { grid-template-columns:repeat(auto-fill, minmax(400px,1fr)); }
.articles-grid--3 { grid-template-columns:repeat(3,1fr); }
.articles-grid--list { grid-template-columns:1fr; }
@media(max-width:1024px){ .articles-grid--3{grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .articles-grid--3,.articles-grid--2{grid-template-columns:1fr;} }

.article-card {
  background:var(--color-surface); border:1px solid var(--color-border);
  border-radius:var(--radius-lg); overflow:hidden;
  transition:all var(--transition-base); display:flex; flex-direction:column;
  box-shadow:var(--shadow-sm);
}
.article-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:rgba(13,43,78,.2); }
.article-card-image { position:relative; aspect-ratio:16/9; overflow:hidden; }
.article-card-image img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); }
.article-card:hover .article-card-image img { transform:scale(1.04); }
.article-card-image-placeholder { width:100%; aspect-ratio:16/9; background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%); display:flex; align-items:center; justify-content:center; }
.article-card-image-placeholder::after { content:'📄'; font-size:3rem; opacity:.4; }
.article-card-body { padding:var(--space-5); flex:1; display:flex; flex-direction:column; gap:var(--space-3); }
.article-card-categories { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.article-card-title { font-family:var(--font-display); font-size:var(--text-lg); font-weight:600; color:var(--color-primary); line-height:1.35; }
.article-card-title a { text-decoration:none; color:inherit; }
.article-card-title a:hover { color:var(--color-secondary); }
.article-card-authors { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); display:flex; flex-wrap:wrap; gap:var(--space-1); }
.article-card-abstract { font-size:var(--text-sm); color:var(--color-text-muted); line-height:1.65; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.article-card-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--color-border-light); }
.article-card-meta { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-light); display:flex; gap:var(--space-3); }
.article-card-metrics { display:flex; gap:var(--space-3); font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-light); }
.article-card-doi { font-family:var(--font-mono); font-size:.7rem; color:var(--color-text-light); text-decoration:none; }
.article-card-doi:hover { color:var(--color-secondary); }

/* list view */
.articles-grid--list .article-card { flex-direction:row; max-height:180px; }
.articles-grid--list .article-card-image { width:200px; flex-shrink:0; aspect-ratio:auto; }
.articles-grid--list .article-card-body { padding:var(--space-4); }
@media(max-width:640px){ .articles-grid--list .article-card{flex-direction:column; max-height:none;} .articles-grid--list .article-card-image{width:100%; aspect-ratio:16/9;} }

/* ── CATEGORIES GRID ─────────────────── */
.categories-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-4); }
@media(max-width:1024px){ .categories-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:768px)  { .categories-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:400px)  { .categories-grid{grid-template-columns:1fr;} }
.category-card {
  background:var(--color-surface); border:1px solid var(--color-border);
  border-radius:var(--radius-lg); padding:var(--space-6); text-decoration:none;
  display:flex; flex-direction:column; gap:var(--space-2);
  transition:all var(--transition-base); position:relative; overflow:hidden;
}
.category-card::before { content:''; position:absolute; inset:0; background:var(--cat-color,var(--color-primary)); opacity:0; transition:opacity var(--transition-base); }
.category-card:hover::before { opacity:.06; }
.category-card:hover { border-color:var(--cat-color,var(--color-primary)); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.category-icon { font-size:2rem; line-height:1; position:relative; }
.category-name { font-family:var(--font-display); font-size:var(--text-lg); font-weight:700; color:var(--color-primary); line-height:1.2; position:relative; }
.category-desc { font-size:var(--text-sm); color:var(--color-text-muted); line-height:1.5; position:relative; }
.category-count { font-family:var(--font-ui); font-size:var(--text-xs); font-weight:600; color:var(--cat-color,var(--color-secondary)); margin-top:auto; position:relative; }

/* ── FEATURED ARTICLE ────────────────── */
.featured-article-card {
  display:grid; grid-template-columns:440px 1fr; gap:0;
  border:1px solid var(--color-border); border-radius:var(--radius-xl);
  overflow:hidden; background:var(--color-surface); box-shadow:var(--shadow-md);
}
@media(max-width:900px){ .featured-article-card{grid-template-columns:1fr;} }
.featured-article-image img { width:100%; height:100%; object-fit:cover; min-height:360px; }
.featured-article-content { padding:var(--space-10); display:flex; flex-direction:column; gap:var(--space-4); }
.article-meta-badges { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.featured-article-title { font-size:var(--text-2xl); line-height:1.3; }
.featured-article-title a { text-decoration:none; color:var(--color-primary); }
.featured-article-title a:hover { color:var(--color-secondary); }
.article-authors { font-family:var(--font-ui); font-size:var(--text-sm); color:var(--color-text-muted); display:flex; flex-wrap:wrap; gap:var(--space-2); }
.author-name { font-weight:500; }
.featured-article-abstract { font-size:var(--text-base); color:var(--color-text-muted); line-height:1.7; flex:1; }
.featured-article-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-3); padding-top:var(--space-4); border-top:1px solid var(--color-border-light); margin-top:auto; }
.article-doi { font-family:var(--font-mono); font-size:var(--text-xs); color:var(--color-text-light); }
.scientia-doi-link { color:var(--color-secondary); }
.article-metrics-mini { display:flex; gap:var(--space-3); font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-light); }

/* ── STATS SECTION ───────────────────── */
.stats-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:var(--space-4); }
@media(max-width:1024px){ .stats-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:640px) { .stats-grid{grid-template-columns:repeat(2,1fr);} }
.stat-card {
  background:var(--color-surface); border:1px solid var(--color-border);
  border-radius:var(--radius-lg); padding:var(--space-6);
  text-align:center; display:flex; flex-direction:column; gap:var(--space-2);
  transition:all var(--transition-base);
}
.stat-card:hover { border-color:var(--color-accent); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.stat-card-icon { font-size:1.75rem; line-height:1; }
.stat-card-number { font-family:var(--font-display); font-size:var(--text-3xl); font-weight:700; color:var(--color-primary); line-height:1; }
[data-theme="dark"] .stat-card-number { color:var(--color-dark-text); }
.stat-card-label { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); text-transform:uppercase; letter-spacing:.06em; }

/* ── AUTHORS GRID ────────────────────── */
.authors-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-5); }
@media(max-width:1024px){ .authors-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:640px) { .authors-grid{grid-template-columns:repeat(2,1fr);} }
.author-card {
  background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-lg);
  padding:var(--space-6); text-align:center; display:flex; flex-direction:column; gap:var(--space-3);
  transition:all var(--transition-base); text-decoration:none;
}
.author-card:hover { border-color:var(--color-primary); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.author-card-avatar { width:80px; height:80px; border-radius:50%; overflow:hidden; margin:0 auto; border:3px solid var(--color-border); }
.author-card-avatar img { width:100%; height:100%; object-fit:cover; }
.author-card-avatar-placeholder { width:80px; height:80px; border-radius:50%; background:linear-gradient(135deg,var(--color-primary),var(--color-secondary)); margin:0 auto; display:flex; align-items:center; justify-content:center; }
.author-card-avatar-placeholder::after { content:'👤'; font-size:1.75rem; opacity:.7; }
.author-card-name { font-family:var(--font-display); font-size:var(--text-base); font-weight:700; color:var(--color-primary); line-height:1.3; }
.author-card-title { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); }
.author-card-affiliation { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-light); }
.author-card-count { font-family:var(--font-ui); font-size:var(--text-xs); font-weight:600; color:var(--color-secondary); }
.author-card-orcid { font-family:var(--font-mono); font-size:.65rem; color:var(--color-text-light); text-decoration:none; }

/* ── CTA SECTION ─────────────────────── */
.cta-card {
  position:relative; background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-secondary) 100%);
  border-radius:var(--radius-xl); padding:var(--space-16); overflow:hidden; color:#fff;
}
.cta-bg { position:absolute; inset:0; opacity:.05; background-image:radial-gradient(circle at 30% 50%, #fff 1px, transparent 1px); background-size:32px 32px; }
.cta-content { position:relative; z-index:1; max-width:700px; }
.cta-label { font-family:var(--font-ui); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.7); display:block; margin-bottom:var(--space-3); }
.cta-title { font-size:clamp(1.75rem,3vw,2.5rem); color:#fff; margin-bottom:var(--space-4); }
.cta-text  { font-size:var(--text-lg); color:rgba(255,255,255,.85); margin-bottom:var(--space-6); line-height:1.65; }
.cta-features { display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-6); margin-bottom:var(--space-8); }
.cta-feature-item { font-family:var(--font-ui); font-size:var(--text-sm); color:rgba(255,255,255,.9); display:flex; align-items:center; gap:var(--space-2); }
.cta-check { color:var(--color-accent-light); font-weight:700; }
.cta-actions { display:flex; flex-wrap:wrap; gap:var(--space-3); }

/* ── NEWSLETTER ──────────────────────── */
.newsletter-block {
  display:flex; align-items:center; gap:var(--space-12); flex-wrap:wrap;
  background:var(--color-surface); border:1px solid var(--color-border);
  border-radius:var(--radius-xl); padding:var(--space-8) var(--space-10);
}
.newsletter-content { flex:1; min-width:240px; }
.newsletter-content h2 { font-size:var(--text-2xl); color:var(--color-primary); margin-bottom:var(--space-2); }
.newsletter-content p { color:var(--color-text-muted); font-size:var(--text-sm); margin:0; }
.newsletter-form { flex:1; min-width:300px; }
.newsletter-input-group { display:flex; gap:var(--space-2); }
.newsletter-input-group input {
  flex:1; padding:var(--space-3) var(--space-4); font-family:var(--font-ui); font-size:var(--text-sm);
  border:2px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg);
  color:var(--color-text); transition:border-color var(--transition-fast);
}
.newsletter-input-group input:focus { outline:none; border-color:var(--color-primary); }
.newsletter-privacy { font-size:var(--text-xs); color:var(--color-text-light); margin-top:var(--space-2); }
.newsletter-message { padding:var(--space-3) var(--space-4); border-radius:var(--radius-md); font-size:var(--text-sm); margin-top:var(--space-3); }
.newsletter-message.success { background:rgba(26,122,74,.1); color:var(--color-success); }
.newsletter-message.error   { background:rgba(176,42,42,.1); color:var(--color-danger); }

/* ── ARTICLE LAYOUT ──────────────────── */
.article-layout {
  display:grid; grid-template-columns:240px 1fr 280px; gap:var(--space-8);
  max-width:var(--container-2xl); margin:0 auto; padding:var(--space-8) var(--space-6);
}
@media(max-width:1280px){ .article-layout{grid-template-columns:200px 1fr 260px;} }
@media(max-width:1024px){ .article-layout{grid-template-columns:1fr 260px; } .article-toc{display:none;} }
@media(max-width:768px) { .article-layout{grid-template-columns:1fr;} .article-sidebar{display:none;} }

/* TOC */
.article-toc { position:sticky; top:90px; height:fit-content; max-height:calc(100vh - 120px); overflow-y:auto; }
.toc-inner { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:var(--space-5); }
.toc-title { font-family:var(--font-ui); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--color-text-muted); margin-bottom:var(--space-4); }
.toc-list { list-style:none; }
.toc-item { margin:2px 0; }
.toc-h3 { padding-left:var(--space-3); }
.toc-h4 { padding-left:var(--space-6); }
.toc-link { display:block; font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); padding:4px var(--space-2); border-radius:var(--radius-sm); text-decoration:none; border-left:2px solid transparent; transition:all var(--transition-fast); line-height:1.4; }
.toc-link:hover, .toc-link.is-active { color:var(--color-primary); background:rgba(13,43,78,.05); border-left-color:var(--color-primary); }
.toc-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-2); margin-top:var(--space-4); padding-top:var(--space-4); border-top:1px solid var(--color-border); }
.toc-metric { text-align:center; }
.toc-metric span { display:block; font-family:var(--font-ui); font-size:.65rem; color:var(--color-text-light); }
.toc-metric strong { display:block; font-family:var(--font-ui); font-size:var(--text-xs); font-weight:700; color:var(--color-primary); }

/* Article main */
.article-main { min-width:0; }
.article-breadcrumb { margin-bottom:var(--space-6); }
.breadcrumb-list { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); list-style:none; font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); }
.breadcrumb-list a { color:var(--color-secondary); text-decoration:none; }
.breadcrumb-list a:hover { text-decoration:underline; }
.article-header { margin-bottom:var(--space-8); padding-bottom:var(--space-8); border-bottom:1px solid var(--color-border); }
.article-badges { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-bottom:var(--space-4); }
.article-title { font-size:clamp(1.5rem,3vw,2.25rem); color:var(--color-primary); line-height:1.25; margin-bottom:var(--space-5); }
[data-theme="dark"] .article-title { color:var(--color-dark-text); }
.article-authors { display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-1); font-family:var(--font-ui); font-size:var(--text-sm); margin-bottom:var(--space-3); }
.article-author-item { display:inline-flex; align-items:center; gap:4px; }
.corresponding { font-weight:700; }
.author-name-link { color:var(--color-secondary); cursor:pointer; }
.orcid-icon { vertical-align:middle; }
.author-sup, .author-more { font-size:.7em; color:var(--color-text-light); vertical-align:super; }
.article-affiliations { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); line-height:1.6; margin-bottom:var(--space-4); }
.affiliation-item { margin:3px 0; }
.affiliation-item sup { color:var(--color-secondary); }
.author-email { color:var(--color-secondary); text-decoration:none; }
.article-identifiers { display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-4); align-items:center; font-family:var(--font-ui); font-size:var(--text-xs); margin-bottom:var(--space-3); }
.article-id-badge { background:var(--color-primary); color:#fff; padding:2px 10px; border-radius:var(--radius-full); font-size:.7rem; letter-spacing:.04em; }
.identifier-item { color:var(--color-text-muted); }
.identifier-item strong { color:var(--color-text); }
.article-dates { display:flex; flex-wrap:wrap; gap:var(--space-4); font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-light); }

/* Sections */
.article-section-title {
  font-size:var(--text-xl); color:var(--color-primary); padding-bottom:var(--space-3);
  border-bottom:2px solid var(--color-accent); margin-bottom:var(--space-5); display:inline-block;
}
[data-theme="dark"] .article-section-title { color:var(--color-dark-text); }
.article-abstract-section, .article-files-section, .article-content-section,
.article-references-section, .how-to-cite-section { margin-bottom:var(--space-8); }
.abstract-tabs, .cite-tabs { display:flex; gap:var(--space-2); margin-bottom:var(--space-4); border-bottom:1px solid var(--color-border); padding-bottom:var(--space-2); }
.abstract-tab-btn, .cite-tab-btn {
  font-family:var(--font-ui); font-size:var(--text-sm); font-weight:500;
  background:none; border:none; cursor:pointer; padding:var(--space-2) var(--space-4);
  border-radius:var(--radius-sm) var(--radius-sm) 0 0;
  color:var(--color-text-muted); border-bottom:2px solid transparent; transition:all var(--transition-fast);
}
.abstract-tab-btn.active, .cite-tab-btn.active { color:var(--color-primary); border-bottom-color:var(--color-primary); }
.abstract-text { font-size:var(--text-base); line-height:1.8; color:var(--color-text); text-align:justify; }

/* Keywords */
.article-keywords { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); margin-bottom:var(--space-6); padding:var(--space-4); background:var(--color-bg-alt); border-radius:var(--radius-md); }
.keywords-label { font-family:var(--font-ui); font-size:var(--text-sm); font-weight:700; color:var(--color-text-muted); }
.keyword-tag {
  background:var(--color-surface); border:1px solid var(--color-border);
  padding:var(--space-1) var(--space-3); border-radius:var(--radius-full);
  font-family:var(--font-ui); font-size:var(--text-xs); font-weight:500; color:var(--color-primary);
  text-decoration:none; transition:all var(--transition-fast);
}
.keyword-tag:hover { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }

/* Files library */
.files-library { display:flex; flex-direction:column; gap:var(--space-3); }
.file-library-item {
  display:flex; align-items:center; gap:var(--space-4); padding:var(--space-4) var(--space-5);
  background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md);
  transition:all var(--transition-fast);
}
.file-library-item:hover { border-color:var(--color-secondary); background:var(--color-bg-alt); }
.file-library-item.file-locked { opacity:.65; }
.file-icon-wrap { flex-shrink:0; }
.file-big-icon { display:block; width:48px; height:48px; border-radius:var(--radius-sm); font-size:1.75rem; line-height:48px; text-align:center; }
.icon-pdf        { background:#fee2e2; }
.icon-pdf::after { content:'📕'; }
.icon-word        { background:#dbeafe; }
.icon-word::after { content:'📘'; }
.icon-excel        { background:#dcfce7; }
.icon-excel::after { content:'📗'; }
.icon-powerpoint       { background:#ffedd5; }
.icon-powerpoint::after{ content:'📙'; }
.icon-archive       { background:#fef9c3; }
.icon-archive::after{ content:'🗜'; }
.icon-image        { background:#f3e8ff; }
.icon-image::after { content:'🖼'; }
.icon-video        { background:#ffe4e6; }
.icon-video::after { content:'🎬'; }
.icon-csv        { background:#ecfdf5; }
.icon-csv::after { content:'📊'; }
.icon-file        { background:#f5f5f4; }
.icon-file::after { content:'📄'; }
.file-details { flex:1; min-width:0; }
.file-name { display:block; font-family:var(--font-ui); font-size:var(--text-sm); font-weight:600; color:var(--color-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.file-meta { display:block; font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-light); margin-top:3px; }
.file-actions-wrap { display:flex; gap:var(--space-2); flex-shrink:0; }
.file-lock-notice { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); }

/* Article content */
.article-content { font-size:var(--text-base); line-height:1.85; color:var(--color-text); }
.article-content h2 { font-size:var(--text-2xl); margin:var(--space-8) 0 var(--space-4); padding-top:var(--space-6); border-top:1px solid var(--color-border-light); }
.article-content h3 { font-size:var(--text-xl); margin:var(--space-6) 0 var(--space-3); }
.article-content p  { margin-bottom:var(--space-5); }
.article-content blockquote { border-left:4px solid var(--color-accent); padding:var(--space-4) var(--space-6); margin:var(--space-6) 0; background:var(--color-bg-alt); border-radius:0 var(--radius-md) var(--radius-md) 0; font-style:italic; color:var(--color-text-muted); }
.article-content table { width:100%; border-collapse:collapse; margin:var(--space-6) 0; font-size:var(--text-sm); }
.article-content th { background:var(--color-primary); color:#fff; padding:var(--space-3) var(--space-4); text-align:left; font-family:var(--font-ui); font-weight:600; }
.article-content td { padding:var(--space-3) var(--space-4); border-bottom:1px solid var(--color-border-light); }
.article-content tr:nth-child(even) td { background:var(--color-bg-alt); }
.article-content figure { margin:var(--space-6) 0; }
.article-content figure img { max-width:100%; border-radius:var(--radius-md); }
.article-content figcaption { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); text-align:center; margin-top:var(--space-2); }
.article-content code { font-family:var(--font-mono); font-size:.875em; background:var(--color-bg-alt); padding:2px 6px; border-radius:var(--radius-sm); color:var(--color-primary); }
.article-content pre { background:var(--color-primary); color:#e8e8e0; padding:var(--space-5); border-radius:var(--radius-md); overflow-x:auto; margin:var(--space-5) 0; }
.article-content pre code { background:none; color:inherit; padding:0; }

/* References */
.references-list { counter-reset:refs; }
.reference-item { display:flex; gap:var(--space-3); padding:var(--space-3) 0; border-bottom:1px solid var(--color-border-light); font-size:var(--text-sm); line-height:1.7; }
.ref-number { flex-shrink:0; font-family:var(--font-mono); font-size:var(--text-xs); font-weight:700; color:var(--color-secondary); min-width:32px; }
.ref-text { color:var(--color-text-muted); }

/* Citation block */
.cite-block { padding:var(--space-4); background:var(--color-bg-alt); border-radius:var(--radius-md); position:relative; }
.cite-text { display:block; font-family:var(--font-mono); font-size:var(--text-xs); color:var(--color-text); line-height:1.7; white-space:pre-wrap; word-break:break-word; }
.cite-text.bibtex { font-size:.72rem; }
.copy-cite-btn { position:absolute; top:var(--space-3); right:var(--space-3); }

/* Metrics bar */
.article-metrics-bar {
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4) var(--space-6);
  padding:var(--space-4) var(--space-5); background:var(--color-bg-alt);
  border-radius:var(--radius-md); margin:var(--space-6) 0;
  font-family:var(--font-ui);
}
.metrics-item { display:flex; align-items:center; gap:var(--space-2); }
.metrics-icon { font-size:1rem; }
.metrics-value { font-size:var(--text-base); font-weight:700; color:var(--color-primary); }
.metrics-label { font-size:var(--text-xs); color:var(--color-text-muted); }
.article-share { margin-left:auto; display:flex; align-items:center; gap:var(--space-2); }
.share-label { font-size:var(--text-xs); color:var(--color-text-muted); }
.share-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%; font-size:var(--text-xs); font-weight:700;
  border:1px solid var(--color-border); background:var(--color-surface);
  cursor:pointer; text-decoration:none; color:var(--color-text);
  transition:all var(--transition-fast);
}
.share-btn:hover { transform:scale(1.1); }
.share-btn--twitter { background:#000; color:#fff; border-color:#000; }
.share-btn--linkedin { background:#0077b5; color:#fff; border-color:#0077b5; }
.share-btn--email { background:var(--color-secondary); color:#fff; border-color:var(--color-secondary); }

/* Sidebar */
.article-sidebar { position:sticky; top:90px; height:fit-content; display:flex; flex-direction:column; gap:var(--space-5); }
.sidebar-card { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:var(--space-5); }
.sidebar-card-title { font-family:var(--font-ui); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--color-text-muted); margin-bottom:var(--space-4); }
.info-list { display:flex; flex-direction:column; gap:var(--space-2); }
.info-row { display:flex; align-items:flex-start; gap:var(--space-2); font-size:var(--text-xs); }
.info-row dt { font-family:var(--font-ui); font-weight:600; color:var(--color-text-muted); white-space:nowrap; min-width:80px; }
.info-row dd { font-family:var(--font-ui); color:var(--color-text); word-break:break-word; }
.open-access-badge { color:var(--color-success); font-weight:600; }
.restricted-badge  { color:var(--color-danger); font-weight:600; }
.sidebar-files { display:flex; flex-direction:column; gap:var(--space-2); }
.sidebar-file-link { display:flex; align-items:center; gap:var(--space-2); padding:var(--space-2) var(--space-3); border:1px solid var(--color-border); border-radius:var(--radius-sm); text-decoration:none; transition:all var(--transition-fast); }
.sidebar-file-link:hover { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.file-mini-icon { font-size:.875rem; }
.file-mini-name { flex:1; font-family:var(--font-ui); font-size:var(--text-xs); font-weight:500; color:inherit; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.file-mini-ext { font-family:var(--font-mono); font-size:.65rem; color:var(--color-text-light); }
.sidebar-file-link:hover .file-mini-ext { color:rgba(255,255,255,.7); }
.related-articles-list { display:flex; flex-direction:column; gap:var(--space-3); }
.related-article-item { display:flex; gap:var(--space-3); text-decoration:none; align-items:flex-start; }
.related-thumb { width:60px; height:45px; object-fit:cover; border-radius:var(--radius-sm); flex-shrink:0; }
.related-title { display:block; font-family:var(--font-ui); font-size:var(--text-xs); font-weight:600; color:var(--color-text); line-height:1.4; margin-bottom:3px; }
.related-date { display:block; font-family:var(--font-ui); font-size:.65rem; color:var(--color-text-light); }

/* File preview modal */
.modal { position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; }
.modal[hidden] { display:none; }
.modal-overlay { position:absolute; inset:0; background:rgba(0,0,0,.75); backdrop-filter:blur(4px); }
.modal-container { position:relative; z-index:1; background:var(--color-surface); border-radius:var(--radius-xl); box-shadow:var(--shadow-xl); width:min(900px,95vw); max-height:90vh; display:flex; flex-direction:column; opacity:0; transform:scale(.95); transition:all var(--transition-base); }
.modal.is-open .modal-container { opacity:1; transform:scale(1); }
.modal-header { display:flex; align-items:center; justify-content:space-between; padding:var(--space-5) var(--space-6); border-bottom:1px solid var(--color-border); }
.modal-header h2 { font-size:var(--text-lg); }
.modal-close { background:none; border:none; cursor:pointer; font-size:var(--text-xl); color:var(--color-text-muted); padding:var(--space-2); }
.modal-body { flex:1; overflow:auto; padding:var(--space-6); }
.modal-img { max-width:100%; height:auto; border-radius:var(--radius-md); display:block; margin:0 auto; }
.modal-iframe { width:100%; height:70vh; border:none; border-radius:var(--radius-md); }

/* ── FOOTER ──────────────────────────── */
.scientia-footer { background:var(--color-primary); color:rgba(255,255,255,.8); }
.footer-widgets { padding:var(--space-16) 0; }
.footer-widgets-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:var(--space-10); }
@media(max-width:1024px){ .footer-widgets-grid{grid-template-columns:1fr 1fr; gap:var(--space-8);} }
@media(max-width:640px) { .footer-widgets-grid{grid-template-columns:1fr;} }
.footer-logo-text { font-family:var(--font-display); font-size:var(--text-xl); font-weight:700; color:#fff; text-decoration:none; display:block; margin-bottom:var(--space-4); }
.footer-col--brand .custom-logo-link img { height:52px; filter:brightness(0) invert(1); margin-bottom:var(--space-4); }
.footer-journal-desc { font-size:var(--text-sm); line-height:1.7; color:rgba(255,255,255,.7); margin-bottom:var(--space-5); }
.footer-issn-badges { display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-5); }
.issn-badge { display:flex; gap:var(--space-3); align-items:center; font-family:var(--font-ui); font-size:var(--text-xs); }
.issn-label { color:rgba(255,255,255,.6); }
.issn-value { font-family:var(--font-mono); font-weight:700; color:#fff; }
.widget-title span { font-family:var(--font-ui); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.5); display:block; padding-bottom:var(--space-3); border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:var(--space-4); }
.footer-col p { font-size:var(--text-sm); color:rgba(255,255,255,.7); display:flex; align-items:flex-start; gap:var(--space-2); margin-bottom:var(--space-2); }
.footer-col a { color:rgba(255,255,255,.8); text-decoration:none; transition:color var(--transition-fast); }
.footer-col a:hover { color:#fff; }
.footer-bottom { background:rgba(0,0,0,.2); padding:var(--space-5) 0; }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-4); font-family:var(--font-ui); font-size:var(--text-xs); }
.footer-copyright { color:rgba(255,255,255,.6); }
.footer-copyright a { color:rgba(255,255,255,.8); text-decoration:none; }
.footer-bottom-nav { display:flex; gap:var(--space-4); list-style:none; }
.footer-bottom-nav a { color:rgba(255,255,255,.7); text-decoration:none; }
.footer-bottom-nav a:hover { color:#fff; }
.footer-tech-info { color:rgba(255,255,255,.4); display:flex; gap:var(--space-2); align-items:center; }
.footer-tech-info .separator { opacity:.5; }
.footer-tech-info a { color:rgba(255,255,255,.6); text-decoration:none; }

/* Social links */
.scientia-social-links { display:flex; gap:var(--space-2); }
.social-link {
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.1); color:rgba(255,255,255,.8);
  text-decoration:none; font-size:var(--text-sm); transition:all var(--transition-fast);
}
.social-link:hover { background:var(--color-accent); color:#fff; transform:translateY(-2px); }

/* Back to top */
.back-to-top {
  position:fixed; bottom:var(--space-6); right:var(--space-6); z-index:50;
  width:44px; height:44px; border-radius:50%;
  background:var(--color-primary); color:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-lg); transition:all var(--transition-base);
}
.back-to-top[hidden] { display:none; }
.back-to-top:hover { background:var(--color-accent); transform:translateY(-3px); }

/* Cookie notice */
.cookie-notice {
  position:fixed; bottom:0; left:0; right:0; z-index:200;
  background:var(--color-primary); color:#fff; padding:var(--space-4) var(--space-6);
  transition:transform var(--transition-base);
}
.cookie-notice-content { display:flex; align-items:center; justify-content:center; gap:var(--space-4); flex-wrap:wrap; max-width:var(--container-xl); margin:0 auto; font-family:var(--font-ui); font-size:var(--text-sm); }
.cookie-notice-content p { margin:0; color:rgba(255,255,255,.9); }
.cookie-notice-content a { color:var(--color-accent-light); }

/* ── ARCHIVE PAGE ────────────────────── */
.archive-page { display:grid; grid-template-columns:1fr var(--sidebar-width); gap:var(--space-8); padding:var(--space-8) 0; }
@media(max-width:1024px){ .archive-page{grid-template-columns:1fr;} .archive-sidebar{display:none;} }
.archive-header { margin-bottom:var(--space-8); }
.archive-title { font-size:var(--text-3xl); color:var(--color-primary); }
.archive-desc  { color:var(--color-text-muted); margin-top:var(--space-3); max-width:600px; }
.archive-controls {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:var(--space-3); margin-bottom:var(--space-6);
  padding:var(--space-4); background:var(--color-bg-alt); border-radius:var(--radius-md);
}
.archive-count { font-family:var(--font-ui); font-size:var(--text-sm); color:var(--color-text-muted); }
.archive-sort { display:flex; align-items:center; gap:var(--space-2); }
.archive-sort label { font-family:var(--font-ui); font-size:var(--text-sm); color:var(--color-text-muted); }
.archive-sort select { font-family:var(--font-ui); font-size:var(--text-sm); padding:var(--space-2) var(--space-3); border:1px solid var(--color-border); border-radius:var(--radius-sm); background:var(--color-surface); }
.view-toggle { display:flex; gap:var(--space-1); }
.view-toggle-btn { padding:var(--space-2); border:1px solid var(--color-border); background:var(--color-surface); border-radius:var(--radius-sm); cursor:pointer; color:var(--color-text-muted); transition:all var(--transition-fast); }
.view-toggle-btn.active, .view-toggle-btn:hover { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }

/* Pagination */
.scientia-pagination { display:flex; justify-content:center; align-items:center; gap:var(--space-2); margin-top:var(--space-10); flex-wrap:wrap; }
.scientia-pagination a, .scientia-pagination span {
  display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px;
  border:1px solid var(--color-border); border-radius:var(--radius-md);
  font-family:var(--font-ui); font-size:var(--text-sm); text-decoration:none; color:var(--color-text);
  padding:0 var(--space-3); transition:all var(--transition-fast);
}
.scientia-pagination .current, .scientia-pagination a:hover { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.scientia-pagination .prev, .scientia-pagination .next { font-weight:600; }

/* ── SEARCH PAGE ─────────────────────── */
.search-page { padding:var(--space-10) 0; }
.search-form-large {
  background:var(--color-bg-alt); border-radius:var(--radius-xl);
  padding:var(--space-8); margin-bottom:var(--space-8);
}
.search-form-large-title { font-size:var(--text-2xl); margin-bottom:var(--space-5); }
.search-form-grid { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:var(--space-3); align-items:end; }
@media(max-width:768px){ .search-form-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .search-form-grid{grid-template-columns:1fr;} }
.search-field label { display:block; font-family:var(--font-ui); font-size:var(--text-xs); font-weight:600; color:var(--color-text-muted); margin-bottom:var(--space-2); }
.search-field input, .search-field select {
  width:100%; padding:var(--space-3) var(--space-4); font-family:var(--font-ui); font-size:var(--text-sm);
  border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface);
  color:var(--color-text);
}
.search-field input:focus, .search-field select:focus { outline:none; border-color:var(--color-primary); }

/* ── AUTHOR PROFILE PAGE ─────────────── */
.author-profile { display:grid; grid-template-columns:300px 1fr; gap:var(--space-10); padding:var(--space-10) 0; }
@media(max-width:768px){ .author-profile{grid-template-columns:1fr;} }
.author-profile-sidebar { display:flex; flex-direction:column; gap:var(--space-5); }
.author-profile-avatar { width:160px; height:160px; border-radius:50%; overflow:hidden; border:4px solid var(--color-border); margin:0 auto var(--space-4); }
.author-profile-avatar img { width:100%; height:100%; object-fit:cover; }
.author-profile-name { font-size:var(--text-2xl); text-align:center; }
.author-profile-title, .author-profile-affiliation { text-align:center; font-family:var(--font-ui); font-size:var(--text-sm); color:var(--color-text-muted); }
.author-profile-orcid { text-align:center; font-family:var(--font-mono); font-size:var(--text-xs); color:var(--color-secondary); text-decoration:none; display:block; margin-top:var(--space-2); }
.author-stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-2); margin-top:var(--space-5); }
.author-stat { background:var(--color-bg-alt); border-radius:var(--radius-md); padding:var(--space-3); text-align:center; }
.author-stat-value { display:block; font-family:var(--font-display); font-size:var(--text-xl); font-weight:700; color:var(--color-primary); }
.author-stat-label { display:block; font-family:var(--font-ui); font-size:.65rem; color:var(--color-text-muted); text-transform:uppercase; margin-top:2px; }

/* ── SUBMISSION PAGE ─────────────────── */
.submission-page { max-width:860px; margin:0 auto; padding:var(--space-10) 0; }
.submission-steps { display:flex; align-items:center; justify-content:center; gap:0; margin-bottom:var(--space-10); }
.submission-step { display:flex; flex-direction:column; align-items:center; gap:var(--space-2); }
.submission-step-num {
  width:36px; height:36px; border-radius:50%;
  background:var(--color-border); color:var(--color-text-muted);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-ui); font-size:var(--text-sm); font-weight:700;
  transition:all var(--transition-base);
}
.submission-step.active .submission-step-num { background:var(--color-primary); color:#fff; }
.submission-step.done .submission-step-num { background:var(--color-success); color:#fff; }
.submission-step-label { font-family:var(--font-ui); font-size:var(--text-xs); color:var(--color-text-muted); }
.submission-step-connector { width:60px; height:2px; background:var(--color-border); margin-top:-18px; }
.submission-step.done + .submission-step-connector { background:var(--color-success); }
.submission-section { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-xl); padding:var(--space-8); margin-bottom:var(--space-6); }
.submission-section-title { font-size:var(--text-xl); color:var(--color-primary); margin-bottom:var(--space-6); padding-bottom:var(--space-4); border-bottom:1px solid var(--color-border-light); }
.form-field { margin-bottom:var(--space-5); }
.form-field label { display:block; font-family:var(--font-ui); font-size:var(--text-sm); font-weight:600; color:var(--color-text); margin-bottom:var(--space-2); }
.form-field label .required { color:var(--color-danger); margin-left:2px; }
.form-field input[type=text], .form-field input[type=email], .form-field input[type=url],
.form-field textarea, .form-field select {
  width:100%; padding:var(--space-3) var(--space-4); font-family:var(--font-ui); font-size:var(--text-sm);
  border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg);
  color:var(--color-text); transition:border-color var(--transition-fast);
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { outline:none; border-color:var(--color-primary); box-shadow:0 0 0 3px rgba(13,43,78,.08); }
.form-field textarea { resize:vertical; min-height:120px; }
.form-field .hint { font-size:var(--text-xs); color:var(--color-text-muted); margin-top:var(--space-2); }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); }
@media(max-width:640px){ .form-grid-2{grid-template-columns:1fr;} }
.dropzone-area {
  border:2px dashed var(--color-border); border-radius:var(--radius-lg);
  padding:var(--space-10); text-align:center; cursor:pointer;
  transition:all var(--transition-base); background:var(--color-bg-alt);
}
.dropzone-area:hover, .dropzone-area.is-dragover { border-color:var(--color-primary); background:rgba(13,43,78,.04); }
.dropzone-icon { font-size:2.5rem; margin-bottom:var(--space-3); }
.dropzone-text { font-family:var(--font-ui); font-size:var(--text-sm); color:var(--color-text-muted); }
.dropzone-text strong { color:var(--color-primary); }
.submission-author-row {
  background:var(--color-bg-alt); border:1px solid var(--color-border);
  border-radius:var(--radius-md); padding:var(--space-5); margin-bottom:var(--space-4); position:relative;
}
.submission-author-row .remove-author { position:absolute; top:var(--space-3); right:var(--space-3); }

/* ── ADMIN META BOXES ────────────────── */
.scientia-meta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); margin:var(--space-4) 0; }
@media(max-width:1024px){ .scientia-meta-grid{grid-template-columns:repeat(2,1fr);} }
.scientia-meta-field { display:flex; flex-direction:column; gap:var(--space-1); }
.scientia-meta-field label { font-size:12px; font-weight:600; color:#555; }
.scientia-meta-field input, .scientia-meta-field select, .scientia-meta-field textarea {
  border:1px solid #ddd; border-radius:4px; padding:6px 8px; font-size:13px;
}
.scientia-meta-field input:focus, .scientia-meta-field select:focus { border-color:#0d2b4e; outline:none; }
.scientia-meta-field--checkbox label { flex-direction:row; align-items:center; gap:6px; cursor:pointer; }
.scientia-tabs { display:flex; gap:4px; border-bottom:2px solid #ddd; margin-bottom:12px; }
.tab-btn { background:none; border:none; padding:8px 16px; cursor:pointer; font-size:13px; border-bottom:2px solid transparent; margin-bottom:-2px; }
.tab-btn.active { border-bottom-color:#0d2b4e; color:#0d2b4e; font-weight:600; }
.scientia-author-row { background:#f9f9f9; border:1px solid #ddd; border-radius:6px; padding:14px; margin-bottom:10px; }
.author-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-weight:600; font-size:13px; }
.btn-small { padding:3px 8px; font-size:11px; border-radius:3px; cursor:pointer; border:1px solid; }
.btn-danger { background:#dc2626; color:#fff; border-color:#dc2626; }
.scientia-metrics-display { display:flex; gap:16px; }
.metric-card { background:#f0f4f8; border-radius:6px; padding:10px 16px; text-align:center; flex:1; }
.metric-icon  { display:block; font-size:1.25rem; }
.metric-value { display:block; font-size:1.25rem; font-weight:700; color:#0d2b4e; }
.metric-label { display:block; font-size:11px; color:#666; margin-top:2px; }
.scientia-access-control .access-section { margin-top:12px; padding-top:12px; border-top:1px solid #ddd; }
.input-with-btn { display:flex; gap:6px; }
.checkbox-label { display:flex; align-items:center; gap:6px; margin:4px 0; font-size:13px; cursor:pointer; }
.token-list { margin-top:10px; }
.token-item { background:#f0f4f8; border-radius:4px; padding:8px; margin-bottom:6px; }
.token-item code { font-size:11px; word-break:break-all; display:block; }
.token-meta { font-size:11px; color:#888; display:block; margin-top:4px; }
.scientia-article-id-display { display:flex; align-items:center; gap:8px; padding:10px; background:#f0f4f8; border-radius:6px; margin-bottom:8px; }
.scientia-article-id-display code { font-size:11px; flex:1; }
.scientia-files-manager .files-list { margin-bottom:12px; }
.file-item { display:flex; align-items:center; gap:10px; padding:8px; border:1px solid #ddd; border-radius:6px; margin-bottom:6px; }
.file-info { flex:1; }
.file-info input { width:100%; margin-bottom:4px; }
.file-url-preview { font-size:11px; color:#888; display:block; }
.file-actions { display:flex; gap:6px; align-items:center; }
.file-actions select { font-size:11px; }

/* ── DARK MODE ADJUSTMENTS ───────────── */
[data-theme="dark"] .article-card,
[data-theme="dark"] .category-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .author-card,
[data-theme="dark"] .sidebar-card,
[data-theme="dark"] .hero-search-panel,
[data-theme="dark"] .newsletter-block,
[data-theme="dark"] .submission-section,
[data-theme="dark"] .file-library-item { background:var(--color-dark-surface); border-color:var(--color-dark-border); }
[data-theme="dark"] .article-card-title,
[data-theme="dark"] .category-name,
[data-theme="dark"] .author-card-name,
[data-theme="dark"] .cta-title { color:var(--color-dark-text); }
[data-theme="dark"] .hero-search-input,
[data-theme="dark"] .newsletter-input-group input { background:var(--color-dark-bg); border-color:var(--color-dark-border); color:var(--color-dark-text); }
[data-theme="dark"] .toc-link.is-active { background:rgba(200,146,42,.1); }
[data-theme="dark"] .keyword-tag { background:var(--color-dark-bg); border-color:var(--color-dark-border); color:var(--color-dark-text); }
[data-theme="dark"] .cite-block { background:var(--color-dark-bg); }
[data-theme="dark"] .article-keywords { background:var(--color-dark-bg); }
[data-theme="dark"] .article-metrics-bar { background:var(--color-dark-bg); }

/* =========================================
   COMMENTS – Improved styling
   ========================================= */
.article-comments-section { margin-top: var(--space-10); }
.article-comments-section .comments-title {
  font-size: var(--text-2xl);
  color: var(--color-primary);
  padding-bottom: var(--space-4);
  border-bottom: 2px solid var(--color-accent);
  margin-bottom: var(--space-8);
  display: inline-block;
}
/* Comment list */
.comment-list { list-style: none; }
.comment-list .comment { padding: var(--space-5) 0; border-bottom: 1px solid var(--color-border-light); }
.comment-list .comment:last-child { border-bottom: none; }
.comment-author .avatar { border-radius: 50%; width: 44px; height: 44px; float: left; margin-right: var(--space-3); }
.comment-author .fn { font-family: var(--font-ui); font-weight: 700; font-size: var(--text-sm); color: var(--color-primary); }
.comment-metadata { font-family: var(--font-ui); font-size: var(--text-xs); color: var(--color-text-light); margin-bottom: var(--space-3); }
.comment-content p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.7; }
.reply a { font-family: var(--font-ui); font-size: var(--text-xs); font-weight: 600; color: var(--color-secondary); text-decoration: none; }
.reply a:hover { text-decoration: underline; }
/* Comment form */
.comment-respond {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  margin-top: var(--space-8);
}
.comment-respond .comment-reply-title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  color: var(--color-primary);
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
}
.comment-respond .comment-notes {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-5);
}
.comment-form .comment-form-author,
.comment-form .comment-form-email,
.comment-form .comment-form-url,
.comment-form .comment-form-comment {
  margin-bottom: var(--space-4);
}
.comment-form label {
  display: block;
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-text-muted);
  margin-bottom: var(--space-2);
}
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  background: var(--color-bg);
  color: var(--color-text);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  box-sizing: border-box;
}
.comment-form input:focus,
.comment-form textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(13,43,78,.08);
}
.comment-form textarea { resize: vertical; min-height: 120px; }
.comment-form .form-submit { margin-top: var(--space-5); }
.comment-form .submit {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: var(--text-sm);
  padding: var(--space-3) var(--space-6);
  background: var(--color-primary);
  color: #fff;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-base);
}
.comment-form .submit:hover { background: var(--color-primary-light); }
.comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: var(--space-2); margin-bottom: var(--space-4); }
.comment-form .comment-form-cookies-consent input { margin-top: 2px; flex-shrink: 0; }
.comment-form .comment-form-cookies-consent label { font-size: var(--text-xs); text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--color-text-muted); }
.comment-form .logged-in-as { font-family: var(--font-ui); font-size: var(--text-sm); color: var(--color-text-muted); margin-bottom: var(--space-4); }
/* Dark mode */
[data-theme="dark"] .comment-respond { background: var(--color-dark-surface); border-color: var(--color-dark-border); }
[data-theme="dark"] .comment-form input, [data-theme="dark"] .comment-form textarea { background: var(--color-dark-bg); border-color: var(--color-dark-border); color: var(--color-dark-text); }

/* ── Advanced search page URL fix ── */
.scientia-no-results {
  text-align: center;
  padding: var(--space-16) var(--space-6);
}
.scientia-no-results .no-results-icon { display: block; font-size: 4rem; margin-bottom: var(--space-4); }
.scientia-no-results h2 { font-size: var(--text-2xl); color: var(--color-primary); margin-bottom: var(--space-3); }
.scientia-no-results p { color: var(--color-text-muted); margin-bottom: var(--space-6); }
