/* =========================================
   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:var(--color-on-primary); 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); inset-inline-start: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-block:var(--space-3); padding-inline:var(--space-10) var(--space-4);
  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; inset-inline-start: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; 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:start; }
.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; }
.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(min(100%, 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; }
.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; }
.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; }
.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:0; }
.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:0; }
.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:var(--color-success-soft); color:var(--color-success); }
.newsletter-message.error   { background:var(--color-danger-soft); color:var(--color-danger); }

/* ── ARTICLE LAYOUT ──────────────────── */
/* Grille et points de rupture : voir journal-ui.css, section Q. */

/* 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-inline-start:var(--space-3); }
.toc-h4 { padding-inline-start: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-inline-start:2px solid transparent; transition:all var(--transition-fast); line-height:1.4; }
.toc-link:hover, .toc-link.is-active { color:var(--color-primary); background:var(--color-primary-soft); border-inline-start-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); }
.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:var(--color-on-primary); 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;
}
.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); }
.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); transition:all var(--transition-fast);
}
.abstract-tab-btn.active, .cite-tab-btn.active { 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); }
.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);
}
a.keyword-tag:hover { background:var(--color-primary); color:var(--color-on-primary); 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); }
.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-inline-start:4px solid var(--color-accent); padding:var(--space-4) var(--space-6); margin:var(--space-6) 0; background:var(--color-bg-alt); border-radius:var(--radius-md); border-start-start-radius:0; border-end-start-radius: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 { padding:var(--space-3) var(--space-4); text-align:start; 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; }

/* 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-inline-start: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:var(--color-on-primary); 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-bg-alt); color:var(--color-primary); border-color:var(--color-border); }
.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); }
.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; }
.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,.58); 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:var(--color-on-accent); transform:translateY(-2px); }

/* Back to top */
.back-to-top {
  position:fixed; bottom:var(--space-6); inset-inline-end:var(--space-6); z-index:50;
  width:44px; height:44px; border-radius:50%;
  background:var(--color-primary); color:var(--color-on-primary); 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 */
/* Fond, couleur et marges : journal-ui (U). Le texte blanc v2 restait
   actif sur le fond clair de la v3. */
.cookie-notice {
  position:fixed; bottom:0; inset-inline:0; z-index:200;
  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; }
.cookie-notice-content a { color:var(--color-secondary); text-decoration:underline; }

/* ── 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:var(--color-on-primary); 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:var(--color-on-primary); 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:var(--color-on-primary); }
.submission-step.done .submission-step-num { background:var(--color-success); color:var(--color-on-primary); }
.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-inline-start: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:var(--ring); }
.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:var(--color-primary-soft); }
.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); inset-inline-end: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 ───────────── */
/* Supprimé : les composants reposent sur des jetons adaptatifs
   (--color-surface, --color-border…) ; ce bloc à jetons v2
   (--color-dark-*) écrasait les couleurs de journal-ui en sombre. */
[data-theme="dark"] .article-card-title { color:var(--color-text); }

/* =========================================
   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: inline-start; margin-inline-end: 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: var(--ring);
}
.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: var(--color-on-primary);
  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); }
/* Mode sombre : assuré par les jetons adaptatifs ci-dessus. */

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

/* =========================================
   FOOTER – v2.2 logo + 4-column grid support
   ========================================= */
.footer-logo-wrap { margin-bottom: var(--space-4); }
.footer-logo-wrap .custom-logo-link { display: inline-block; }
.footer-logo-wrap .custom-logo-link img {
  height: 52px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.footer-logo-text {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  margin-bottom: var(--space-4);
}
.footer-widgets-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: var(--space-8);
  padding: var(--space-12) 0 var(--space-8);
}
.footer-links-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-2); }
/* Liens, survol et zones tactiles des listes : journal-ui (T). */
.footer-contact-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: var(--space-5); }
.footer-contact-list li { display: flex; align-items: flex-start; gap: var(--space-2); font-family: var(--font-ui); font-size: var(--text-sm); color: rgba(255,255,255,.8); }
.footer-icon { flex-shrink: 0; font-size: 1rem; }
.footer-contact-list a { color: rgba(255,255,255,.85); text-decoration: none; word-break: break-all; }
.footer-contact-list a:hover { color: var(--color-accent-light); }
.footer-cta-btns { display: flex; flex-direction: column; gap: var(--space-2); }
.btn--outline-footer {
  background: transparent; color: rgba(255,255,255,.8); border: 1px solid rgba(255,255,255,.3);
  font-family: var(--font-ui); font-weight: 600; font-size: var(--text-sm);
  padding: var(--space-2) var(--space-4); border-radius: var(--radius-md);
  text-decoration: none; display: inline-flex; align-items: center; justify-content: center;
  transition: all var(--transition-fast);
}
.btn--outline-footer:hover { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.5); }
/* Titres et liens des widgets du pied de page : journal-ui (T). */
.scientia-footer .widget ul { list-style: none; }
.footer-bottom { background: rgba(0,0,0,.25); }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); padding: var(--space-4) 0; 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; flex-wrap: wrap; }
.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,.58); }
.footer-tech-info span { color: rgba(255,255,255,.6); }

/* =========================================
   RESPONSIVE – GLOBAL MOBILE OVERHAUL v2.2
   ========================================= */

/* --- TOPBAR --- */
@media (max-width: 768px) { .scientia-topbar { display: none; } }

/* --- HEADER --- */
.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) {
  .scientia-header { position: sticky; top: 0; z-index: 100; }
  .header-inner { padding: var(--space-3) 0; min-height: 60px; gap: var(--space-3); }
  .primary-nav { display: none; }
  .header-submit-btn { display: none; }
  .mobile-menu-toggle { display: flex; }
  .header-brand .custom-logo-link img { height: 40px; max-width: 140px; object-fit: contain; }
  .site-title { font-size: var(--text-base); }
  .site-tagline { display: none; }
}
@media (max-width: 480px) {
  .header-inner { gap: var(--space-2); }
  .header-actions { gap: var(--space-2); }
  .header-brand .custom-logo-link img { height: 36px; max-width: 120px; }
}

/* --- MOBILE MENU --- */
.mobile-menu { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,.55); opacity: 0; transition: opacity var(--transition-base); }
.mobile-menu.is-open { opacity: 1; }
.mobile-menu[hidden] { display: none; }
.mobile-menu-inner {
  position: absolute; width: min(320px,88vw);
  background: var(--color-surface); padding: var(--space-6) var(--space-5); overflow-y: auto;
  transform: translateX(100%); transition: transform var(--transition-base);
  display: flex; flex-direction: column; gap: var(--space-3);
}
.mobile-menu.is-open .mobile-menu-inner { transform: translateX(0); }
.mobile-menu-close { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--color-text-muted); align-self: flex-end; padding: var(--space-1); line-height: 1; }
.mobile-nav-menu { list-style: none; }
.mobile-nav-menu > li { border-bottom: 1px solid var(--color-border-light); }
.mobile-nav-menu > li > a { display: block; padding: var(--space-4) var(--space-2); font-family: var(--font-ui); font-size: var(--text-base); font-weight: 500; color: var(--color-text); text-decoration: none; }
.mobile-nav-menu > li > a:hover { color: var(--color-primary); }
.mobile-nav-menu .sub-menu { list-style: none; padding-inline-start: var(--space-4); }
.mobile-nav-menu .sub-menu a { display: block; padding: var(--space-2) 0; font-size: var(--text-sm); color: var(--color-text-muted); text-decoration: none; }

/* --- HERO --- */
@media (max-width: 1100px) {
  .hero-container { grid-template-columns: 1fr; max-width: 640px; gap: var(--space-8); padding-block: var(--space-12) var(--space-8); }
  .hero-search-panel { margin: 0 auto; max-width: 560px; }
}
@media (max-width: 768px) {
  .hero-section { min-height: auto; padding-top: 0; }
  .hero-container { grid-template-columns: 1fr !important; padding-block: var(--space-10) var(--space-8) !important; gap: var(--space-6) !important; }
  .hero-content { text-align: center; }
  .hero-badge { justify-content: center; font-size: .65rem; }
  .hero-title { font-size: var(--text-3xl); }
  .hero-subtitle { font-size: var(--text-base); }
  .hero-actions { flex-direction: column; align-items: stretch; justify-content: center; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-stats { gap: var(--space-4); justify-content: center; }
  .hero-stat-divider { display: none; }
  .hero-search-panel { margin: 0 auto; width: 100%; }
  .hero-search-filters { grid-template-columns: 1fr !important; gap: var(--space-2); }
}
@media (max-width: 480px) {
  .hero-container { padding-block: var(--space-8) var(--space-6) !important; }
  .hero-title { font-size: clamp(1.5rem,8vw,2rem); }
  .hero-stats { flex-wrap: wrap; gap: var(--space-3); }
  .stat-number { font-size: var(--text-2xl); }
  .hero-search-panel { padding: var(--space-4); }
  .hero-search-title { font-size: var(--text-lg); }
}

/* --- ARTICLES GRID / CARDS --- */
@media (max-width: 1024px) { .articles-grid--3 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px) {
  .articles-grid--3, .articles-grid--2, .articles-grid { grid-template-columns: 1fr; }
  .articles-grid--list .article-card { flex-direction: column; max-height: none; }
  .articles-grid--list .article-card-image { width: 100%; aspect-ratio: 16/9; }
  .article-card-footer { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .article-card-body { padding: var(--space-4); }
}

/* --- CATEGORIES / STATS / AUTHORS GRIDS --- */
@media (max-width: 1024px) { .categories-grid { grid-template-columns: repeat(3,1fr); } .stats-grid { grid-template-columns: repeat(3,1fr); } .authors-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 768px)  { .categories-grid { grid-template-columns: repeat(2,1fr); } .stats-grid { grid-template-columns: repeat(2,1fr); } .authors-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 400px)  { .categories-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 360px)  { .stats-grid { grid-template-columns: 1fr 1fr; } .authors-grid { grid-template-columns: 1fr; } }
@media (hover: none) { .stat-card:hover, .category-card:hover, .author-card:hover { transform: none; } }

/* --- FEATURED ARTICLE --- */
@media (max-width: 900px) {
  .featured-article-card { grid-template-columns: 1fr; }
  .featured-article-image img { min-height: 220px; max-height: 300px; width: 100%; object-fit: cover; }
  .featured-article-content { padding: var(--space-6); }
}
@media (max-width: 480px) {
  .featured-article-content { padding: var(--space-4); }
  .featured-article-footer { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
}

/* --- CTA / NEWSLETTER --- */
@media (max-width: 768px) {
  .cta-card { padding: var(--space-8) var(--space-5); }
  .cta-title { font-size: var(--text-xl); }
  .cta-text { font-size: var(--text-base); }
  .cta-actions { flex-direction: column; gap: var(--space-3); }
  .cta-actions .btn { width: 100%; justify-content: center; }
  .cta-features { flex-direction: column; gap: var(--space-2); }
  .newsletter-block { flex-direction: column; padding: var(--space-6); gap: var(--space-4); }
  .newsletter-input-group { flex-direction: column; gap: var(--space-2); }
  .newsletter-input-group input, .newsletter-input-group .btn { width: 100%; }
}

/* --- ARTICLE LAYOUT (single) --- */
@media (max-width: 768px) {
  .article-header { margin-bottom: var(--space-6); padding-bottom: var(--space-6); }
  .article-title { font-size: clamp(1.25rem,5vw,1.75rem); }
  .article-identifiers { flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-xs); }
  .article-id-badge { font-size: .65rem; }
  .article-dates { flex-direction: column; gap: 4px; font-size: var(--text-xs); }
  .article-metrics-bar { flex-wrap: wrap; gap: var(--space-3); padding: var(--space-3); }
  .article-share { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .file-library-item { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .file-actions-wrap { width: 100%; display: flex; gap: var(--space-2); }
  .cite-tabs { flex-wrap: wrap; gap: 4px; }
  .cite-text { font-size: .7rem; }
}
@media (max-width: 480px) {
  .article-authors { font-size: var(--text-xs); }
  .article-affiliations { font-size: .7rem; }
  .article-section-title { font-size: var(--text-lg); }
  .abstract-tabs { flex-wrap: wrap; }
  .abstract-tab-btn { font-size: var(--text-xs); padding: var(--space-1) var(--space-3); }
  .article-content { font-size: var(--text-sm); line-height: 1.75; }
  .article-content h2 { font-size: var(--text-xl); }
  .article-content h3 { font-size: var(--text-lg); }
  .reference-item { flex-direction: column; gap: var(--space-1); }
}

/* --- ARCHIVE / SEARCH --- */
@media (max-width: 1024px) { .archive-page { grid-template-columns: 1fr; } .archive-sidebar { display: none; } }
@media (max-width: 768px) {
  .archive-search-bar { padding: var(--space-4); }
  .filter-row { flex-direction: column; gap: var(--space-2); }
  .filter-search-wrap, .filter-select { width: 100%; box-sizing: border-box; }
  .archive-controls { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .view-toggle { align-self: flex-end; }
  .archive-sort { flex-direction: column; align-items: flex-start; gap: var(--space-1); }
  .sort-select { width: 100%; }
  .search-form-grid { grid-template-columns: 1fr; }
  .search-form-large { padding: var(--space-5); }
}

/* --- AUTHOR PROFILE --- */
@media (max-width: 900px) {
  .author-profile { grid-template-columns: 1fr !important; padding: var(--space-6) var(--space-4) var(--space-10); }
  .author-profile-avatar { width: 120px; height: 120px; }
  .author-profile-name { font-size: var(--text-xl); }
}
@media (max-width: 480px) { .author-stats-grid { grid-template-columns: repeat(3,1fr); gap: var(--space-2); } .author-stat-value { font-size: var(--text-xl); } }

/* --- CONTACT / TEAM / ABOUT --- */
@media (max-width: 1024px) { .contact-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .contact-form-row { grid-template-columns: 1fr; }
  .contact-body { padding: var(--space-6) var(--space-4) var(--space-10); }
  .contact-header { padding: var(--space-8) 0 var(--space-6); }
  .contact-form-card { padding: var(--space-5); }
  .team-chief-card { flex-direction: column; align-items: center; text-align: center; }
  .team-chief-avatar, .team-chief-avatar-placeholder { width: 120px; height: 120px; }
  .team-header { padding: var(--space-8) 0 var(--space-6); }
  .team-body { padding: var(--space-6) var(--space-4) var(--space-10); }
  .team-members-grid { grid-template-columns: 1fr; }
  .team-member-card { flex-direction: column; align-items: flex-start; }
  .team-reviewers-grid { grid-template-columns: repeat(2,1fr); }
  .team-join-cta { flex-direction: column; text-align: center; padding: var(--space-6); }
  .team-join-cta .btn { width: 100%; }
  .about-key-facts { flex-wrap: wrap; }
  .about-fact { min-width: 45%; border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .about-section-inner { flex-direction: column; gap: var(--space-4); padding: var(--space-5); }
  .about-stats-grid { grid-template-columns: repeat(2,1fr); }
  .about-cta-strip { flex-direction: column; text-align: center; padding: var(--space-6); }
  .about-body { padding: var(--space-8) var(--space-4) var(--space-10); }
}
@media (max-width: 480px) {
  .contact-page-title { font-size: var(--text-xl); }
  .contact-field label { font-size: .6rem; }
  .team-reviewers-grid { grid-template-columns: 1fr; }
  .about-fact { min-width: 100%; border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .about-stats-grid { grid-template-columns: 1fr 1fr; }
  .about-cta-btns { flex-direction: column; width: 100%; }
  .about-cta-btns .btn { width: 100%; }
}

/* --- SUBMISSION / PUBLISH PAGES --- */
@media (max-width: 768px) {
  .submission-page { padding: var(--space-6) 0 var(--space-12); }
  .submission-steps { overflow-x: auto; padding-bottom: var(--space-3); justify-content: flex-start; }
  .submission-step-connector { width: 30px; }
  .submission-step-num { width: 28px; height: 28px; font-size: var(--text-xs); }
  .submission-step-label { font-size: .55rem; }
  .submission-section { padding: var(--space-5) var(--space-4); }
  .form-grid-2 { grid-template-columns: 1fr !important; }
}
@media (max-width: 1100px) { .pub-layout { grid-template-columns: 1fr !important; } .pub-sidebar { position: static !important; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); } .pub-publish-box { grid-column: 1 / -1; } }
@media (max-width: 768px) {
  .pub-sidebar { grid-template-columns: 1fr !important; }
  .pub-header { padding: var(--space-8) 0 var(--space-6); }
  .pub-header-inner { flex-direction: column; gap: var(--space-3); }
  .pub-fields-row { grid-template-columns: 1fr 1fr !important; }
  .pub-body { padding: var(--space-4) var(--space-3) var(--space-10); }
  .pub-section { padding: var(--space-5) var(--space-4); }
}
@media (max-width: 480px) { .pub-fields-row { grid-template-columns: 1fr !important; } .pub-tabs { flex-wrap: wrap; } }

/* --- ADVANCED SEARCH --- */
@media (max-width: 1024px) { .adv-search-grid { grid-template-columns: 1fr 1fr !important; } .adv-field--wide { grid-column: 1 / -1 !important; } }
@media (max-width: 640px) { .adv-search-grid { grid-template-columns: 1fr !important; } .adv-search-actions { flex-direction: column; } .adv-search-actions .btn { width: 100%; } .advanced-search-form-card { padding: var(--space-5); } }

/* --- GENERAL TYPOGRAPHY / SPACING --- */
@media (max-width: 768px) {
  .section-spacing { padding-block: var(--space-10); }
  .section-spacing--sm { padding-block: var(--space-6); }
  .section-header { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .section-title { font-size: clamp(1.25rem,5vw,1.875rem); }
}
@media (max-width: 480px) {
  .section-spacing { padding-block: var(--space-8); }
  h1 { font-size: clamp(1.5rem,7vw,2.25rem); }
  h2 { font-size: clamp(1.25rem,5vw,1.875rem); }
  h3 { font-size: clamp(1rem,4vw,1.25rem); }
  .btn--lg { padding: var(--space-3) var(--space-5); font-size: var(--text-sm); }
}

/* --- FOOTER MOBILE --- */
@media (max-width: 1024px) { .footer-widgets-grid { grid-template-columns: 1fr 1fr; gap: var(--space-6); } }
@media (max-width: 600px) {
  .footer-widgets-grid { grid-template-columns: 1fr; gap: var(--space-5); padding: var(--space-8) 0 var(--space-6); }
  .footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: var(--space-3); text-align: start; }
  .footer-bottom-nav { flex-wrap: wrap; gap: var(--space-3); }
}
@media (max-width: 480px) {
  .footer-cta-btns { flex-direction: column; }
  .footer-cta-btns .btn { width: 100%; }
  .scientia-social-links { flex-wrap: wrap; }
  .footer-logo-wrap .custom-logo-link img { height: 44px !important; }
}

/* --- SEARCH PANEL / MODAL --- */
@media (max-width: 768px) {
  .header-search-panel { padding: var(--space-4) 0; }
  .search-input-group { flex-wrap: wrap; gap: var(--space-2); }
  .search-input-group input { min-width: 0; flex: 1; }
  .search-input-group .btn { flex-shrink: 0; }
}

/* --- PAGINATION / BACK-TO-TOP --- */
@media (max-width: 480px) {
  .scientia-pagination { gap: 4px; flex-wrap: wrap; }
  .scientia-pagination a, .scientia-pagination span { min-width: 34px; height: 34px; font-size: var(--text-xs); padding: 0 var(--space-2); }
  .cookie-notice-content { flex-direction: column; gap: var(--space-3); text-align: center; }
}

/* --- TOUCH-FRIENDLY TAP TARGETS + iOS ZOOM FIX --- */
@media (max-width: 768px) {
  .btn { min-height: 44px; }
  .btn--sm { min-height: 36px; }
  .nav-link { min-height: 44px; display: flex; align-items: center; }
  input[type=text], input[type=email], input[type=search], input[type=number],
  input[type=date], input[type=color], select, textarea {
    min-height: 44px;
    font-size: 16px !important; /* prevents iOS auto-zoom on focus */
  }
}
