/* ===== Embedded TechNova structural CSS — self-contained (no external technova dependency) ===== */
/**
 * Technology Theme - OJS
 * Modern, Professional Academic & Computer Science Journal Theme
 * Primary Brand Color: #033692
 */


:root {
  --tech-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --tech-font-mono: 'JetBrains Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --tech-primary: #033692;
  --tech-primary-hover: #022468;
  --tech-primary-light: #1a56c4;
  --tech-primary-rgb: 3, 54, 146;
  --tech-accent: #00b4d8;
  --tech-accent-rgb: 0, 180, 216;
  --tech-cyan: #06b6d4;
  --tech-navy-dark: #021330;
  --tech-navy-mid: #05204d;
  --tech-navy-surface: #0a2558;
  --tech-navy-card: #0e306e;
  --tech-gradient: linear-gradient(135deg, #033692 0%, #0c57c4 50%, #021e54 100%);
  --tech-gradient-dark: linear-gradient(135deg, #021029 0%, #032d78 50%, #021e54 100%);
  --tech-gradient-hero: linear-gradient(135deg, #020f26 0%, #032a70 45%, #053b9c 80%, #021e54 100%);
  --tech-gradient-card: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
  --tech-subtle: #edf3fc;
  --tech-subtle-blue: #e0ecff;
  --tech-bg: #f8fafc;
  --tech-surface: #ffffff;
  --tech-gray-50: #f8fafc;
  --tech-gray-100: #f1f5f9;
  --tech-gray-200: #e2e8f0;
  --tech-gray-300: #cbd5e1;
  --tech-gray-400: #94a3b8;
  --tech-gray-600: #475569;
  --tech-gray-700: #334155;
  --tech-gray-800: #1e293b;
  --tech-gray-900: #0f172a;
  --tech-shadow-2xs: 0 1px 2px 0 rgba(3, 54, 146, 0.04);
  --tech-shadow-sm: 0 2px 5px 0 rgba(3, 54, 146, 0.06);
  --tech-shadow: 0 6px 16px -2px rgba(3, 54, 146, 0.08), 0 2px 6px -1px rgba(0, 0, 0, 0.04);
  --tech-shadow-lg: 0 14px 30px -4px rgba(3, 54, 146, 0.12), 0 6px 12px -3px rgba(0, 0, 0, 0.06);
  --tech-shadow-xl: 0 22px 42px -6px rgba(3, 54, 146, 0.18), 0 12px 18px -4px rgba(0, 0, 0, 0.08);
  --tech-radius-sm: 0.45rem;
  --tech-radius: 0.75rem;
  --tech-radius-lg: 1rem;
  --tech-radius-xl: 1.5rem;
}

body { font-family: var(--tech-font); color: var(--tech-gray-800); background-color: var(--tech-bg); line-height: 1.65; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background-color: var(--tech-primary); color: #ffffff; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--tech-gray-100); }
::-webkit-scrollbar-thumb { background: var(--tech-gray-300); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--tech-primary); }

.container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { width: 100%; padding-right: 1.25rem !important; padding-left: 1.25rem !important; margin-right: auto; margin-left: auto; }
@media (min-width: 1200px) { .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 1180px !important; padding-right: 1.5rem !important; padding-left: 1.5rem !important; } }
@media (min-width: 1400px) { .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 1300px !important; padding-right: 1.75rem !important; padding-left: 1.75rem !important; } }

/* TOP BAR */
.tech-top-bar { background: var(--tech-navy-dark); color: #a0aec0; font-size: 0.8125rem; padding: 0.45rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.tech-top-bar a { color: #cbd5e1; text-decoration: none; transition: all 0.2s ease; }
.tech-top-bar a:hover { color: #ffffff; }
.tech-top-bar .issn-badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.15rem 0.55rem; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: 0.35rem; color: #ffffff; font-size: 0.775rem; font-family: var(--tech-font-mono); transition: all 0.2s ease; }
.tech-top-bar a.issn-badge:hover { background: rgba(255,255,255,0.18); border-color: rgba(255,255,255,0.35); color: #ffffff; transform: translateY(-1px); }

/* NAVBAR */
.tech-navbar { background: rgba(255,255,255,0.98); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 4px 18px rgba(3,54,146,0.1); padding: 0.75rem 0; border-bottom: 1px solid var(--tech-gray-200); transition: all 0.25s cubic-bezier(0.4,0,0.2,1); position: sticky !important; top: 0 !important; z-index: 1040 !important; }
.tech-brand { display: flex; align-items: center; gap: 0.85rem; text-decoration: none; color: var(--tech-gray-900); }
.tech-brand-logo { max-height: 52px; width: auto; object-fit: contain; transition: transform 0.25s ease; }
.tech-brand:hover .tech-brand-logo { transform: scale(1.03); }
.tech-brand-info { display: flex; flex-direction: column; justify-content: center; }
.tech-brand-initials { font-size: 1.75rem; font-weight: 900; color: var(--tech-primary); line-height: 1.05; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 0.1rem; display: block; }
.tech-brand-title { font-size: 0.75rem; font-weight: 500; color: var(--tech-gray-600); line-height: 1.2; display: block; }
.tech-nav .nav-link { font-size: 0.875rem; font-weight: 700; color: var(--tech-gray-700); padding: 0.6rem 0.95rem !important; border-radius: var(--tech-radius-sm); text-transform: uppercase; letter-spacing: 0.035em; transition: all 0.2s ease; position: relative; }
.tech-nav .nav-link:hover, .tech-nav .nav-link:focus, .tech-nav .nav-item.active .nav-link { color: var(--tech-primary); background-color: var(--tech-subtle); }
.tech-nav .dropdown-menu { border: 1px solid var(--tech-gray-200); border-radius: var(--tech-radius); box-shadow: var(--tech-shadow-lg); padding: 0.6rem; min-width: 14rem; }
.tech-nav .dropdown-item { font-size: 0.875rem; font-weight: 600; color: var(--tech-gray-700); padding: 0.55rem 0.85rem; border-radius: 0.4rem; transition: all 0.15s ease; }
.tech-nav .dropdown-item:hover { background-color: var(--tech-subtle); color: var(--tech-primary); transform: translateX(3px); }
.btn-tech-search-nav { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background-color: var(--tech-subtle); color: var(--tech-primary); border: 1px solid rgba(var(--tech-primary-rgb),0.2); font-size: 0.95rem; text-decoration: none; transition: all 0.2s ease; }
.btn-tech-search-nav:hover { background-color: var(--tech-primary); color: #ffffff; border-color: var(--tech-primary); transform: translateY(-1px); }
.btn-tech-login-btn { background-color: var(--tech-subtle); color: var(--tech-primary); border: 1px solid rgba(var(--tech-primary-rgb),0.2); font-weight: 700; font-size: 0.8125rem; border-radius: 2rem; padding: 0.35rem 0.95rem; text-decoration: none; display: inline-flex; align-items: center; transition: all 0.2s ease; }
.btn-tech-login-btn:hover { background-color: var(--tech-primary); color: #ffffff; border-color: var(--tech-primary); }
.btn-tech-register-btn { background-color: #ffffff; color: var(--tech-gray-700); border: 1px solid var(--tech-gray-300); font-weight: 600; font-size: 0.8125rem; border-radius: 2rem; padding: 0.35rem 0.95rem; text-decoration: none; display: inline-flex; align-items: center; transition: all 0.2s ease; }
.btn-tech-register-btn:hover { background-color: var(--tech-gray-100); color: var(--tech-gray-900); border-color: var(--tech-gray-400); }
.btn-tech-outline { background-color: var(--tech-subtle); color: var(--tech-primary); border: 1px solid rgba(var(--tech-primary-rgb),0.25); font-weight: 700; font-size: 0.85rem; border-radius: 2rem; padding: 0.45rem 1.15rem; transition: all 0.2s ease; }
.btn-tech-outline:hover { background-color: var(--tech-primary); color: #ffffff; }
.btn-tech-primary { background: var(--tech-gradient); color: #ffffff; border: none; font-weight: 700; font-size: 0.85rem; border-radius: 2rem; padding: 0.45rem 1.25rem; box-shadow: 0 4px 12px rgba(var(--tech-primary-rgb),0.3); transition: all 0.2s ease; text-decoration: none; display: inline-flex; align-items: center; gap: 0.45rem; }
.btn-tech-primary:hover { filter: brightness(1.1); color: #ffffff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(var(--tech-primary-rgb),0.4); }

/* HERO */
.tech-hero { background: var(--tech-gradient-hero); position: relative; overflow: hidden; padding: 5.5rem 0 6rem; color: #ffffff; border-bottom: 1px solid rgba(255,255,255,0.1); }
.tech-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 40px 40px; mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 70%, transparent 100%); -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 70%, transparent 100%); pointer-events: none; }
.tech-hero-orb-1 { position: absolute; width: 550px; height: 550px; background: radial-gradient(circle, rgba(0,180,216,0.22) 0%, transparent 70%); top: -120px; right: -80px; border-radius: 50%; pointer-events: none; filter: blur(40px); }
.tech-hero-orb-2 { position: absolute; width: 450px; height: 450px; background: radial-gradient(circle, rgba(3,54,146,0.4) 0%, transparent 70%); bottom: -100px; left: -50px; border-radius: 50%; pointer-events: none; filter: blur(50px); }
.tech-hero-badge { background: rgba(255,255,255,0.12); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.22); color: #ffffff; padding: 0.4rem 0.95rem; border-radius: 2rem; font-size: 0.8125rem; font-weight: 700; display: inline-flex; align-items: center; gap: 0.45rem; box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.tech-hero-title { font-size: 2.85rem; font-weight: 800; letter-spacing: -0.035em; line-height: 1.15; margin-bottom: 1.25rem; color: #ffffff; text-shadow: 0 2px 12px rgba(0,0,0,0.35); }
.tech-hero-desc { font-size: 1.1rem; line-height: 1.75; color: #e2e8f0; max-width: 660px; }
.btn-hero-cta-main { background: #ffffff; color: var(--tech-primary); font-weight: 800; padding: 0.85rem 2rem; border-radius: 2rem; border: none; box-shadow: 0 8px 24px rgba(0,0,0,0.3); transition: all 0.25s ease; text-decoration: none; display: inline-flex; align-items: center; gap: 0.6rem; font-size: 0.95rem; }
.btn-hero-cta-main:hover { color: var(--tech-navy-dark); transform: translateY(-3px); background: #f8fafc; }
.btn-hero-cta-outline { background: rgba(255,255,255,0.12); backdrop-filter: blur(10px); color: #ffffff; font-weight: 700; padding: 0.85rem 1.85rem; border-radius: 2rem; border: 1px solid rgba(255,255,255,0.35); transition: all 0.25s ease; text-decoration: none; display: inline-flex; align-items: center; gap: 0.6rem; font-size: 0.95rem; }
.btn-hero-cta-outline:hover { background: rgba(255,255,255,0.25); color: #ffffff; border-color: rgba(255,255,255,0.65); transform: translateY(-3px); }
.tech-showcase-card { background: rgba(255,255,255,0.96); border-radius: var(--tech-radius-xl); padding: 1.5rem; box-shadow: 0 25px 50px -12px rgba(2,19,48,0.5); backdrop-filter: blur(16px); color: var(--tech-gray-900); transition: all 0.35s ease; }
.tech-showcase-card:hover { transform: translateY(-8px); }
.tech-showcase-cover-wrapper { background: #ffffff; border-radius: var(--tech-radius); padding: 0.35rem; border: 1px solid var(--tech-gray-200); display: flex; align-items: center; justify-content: center; max-height: 290px; overflow: hidden; }
.tech-showcase-cover { border-radius: calc(var(--tech-radius) - 2px); max-height: 280px; max-width: 100%; object-fit: contain !important; display: block; margin: 0 auto; }

/* METRICS */
.tech-metrics-bar { margin-top: -2.85rem; position: relative; z-index: 15; margin-bottom: 2.5rem; }
.tech-metric-card { background: #ffffff; border-radius: var(--tech-radius); border: 2px solid var(--tech-primary) !important; padding: 1.15rem 1.25rem; box-shadow: 0 4px 14px rgba(3,54,146,0.08); display: flex; align-items: center; gap: 1rem; transition: all 0.25s cubic-bezier(0.16,1,0.3,1); }
.tech-metric-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(3,54,146,0.2); border-color: var(--tech-primary-hover) !important; }
.tech-metric-icon { width: 48px; height: 48px; border-radius: 0.75rem; background: var(--tech-subtle); color: var(--tech-primary); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0; }
.tech-metric-value { font-size: 1.6rem; font-weight: 800; color: var(--tech-gray-900); line-height: 1.1; }
.tech-metric-label { font-size: 0.685rem; font-weight: 700; color: var(--tech-gray-600); text-transform: uppercase; letter-spacing: 0.035em; line-height: 1.25; margin-top: 0.15rem; }

/* SECTION HEADINGS + CARDS */
.tech-col-title { font-size: 1.15rem; font-weight: 800; color: var(--tech-gray-900); text-transform: uppercase; letter-spacing: 0.04em; padding-bottom: 0.75rem; margin-bottom: 1.25rem; border-bottom: 2px solid var(--tech-gray-200); display: flex; align-items: center; gap: 0.55rem; position: relative; }
.tech-col-title::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 45px; height: 2px; background: var(--tech-primary); }
.tech-col-title i { color: var(--tech-primary); font-size: 1.25rem; }
.tech-about-card { background: #ffffff; border: 2px solid var(--tech-primary) !important; border-top: 4px solid var(--tech-primary) !important; border-radius: var(--tech-radius-lg); padding: 1.75rem; margin-bottom: 1.75rem; box-shadow: 0 4px 20px rgba(var(--tech-primary-rgb),0.08) !important; }
.tech-about-card:hover { box-shadow: 0 8px 28px rgba(var(--tech-primary-rgb),0.14) !important; }
.tech-issue-header-card { background: #ffffff !important; border: 2px solid var(--tech-primary) !important; border-top: 4px solid var(--tech-primary) !important; border-radius: var(--tech-radius-lg) !important; box-shadow: 0 4px 20px rgba(var(--tech-primary-rgb),0.08) !important; margin-bottom: 1.5rem !important; }
.tech-article-card { background: #ffffff; border: 1.5px solid var(--tech-primary) !important; border-left: 4.5px solid var(--tech-primary) !important; border-radius: var(--tech-radius); padding: 1.35rem 1.4rem; margin-bottom: 1.25rem; box-shadow: 0 2px 10px rgba(var(--tech-primary-rgb),0.06); transition: all 0.25s cubic-bezier(0.16,1,0.3,1); }
.tech-article-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(var(--tech-primary-rgb),0.16); }
.tech-article-cover-col { flex: 0 0 auto; width: 130px; margin-right: 1.25rem !important; }
.tech-article-cover-link { width: 130px; height: 130px; border-radius: 6px; overflow: hidden; border: 1px solid var(--tech-primary) !important; border-left: 4px solid var(--tech-primary) !important; background: #ffffff !important; padding: 4px !important; box-shadow: 0 2px 8px rgba(var(--tech-primary-rgb),0.12); display: flex !important; align-items: center; justify-content: center; text-decoration: none; transition: all 0.25s cubic-bezier(0.16,1,0.3,1); box-sizing: border-box; }
.tech-article-cover-link:hover, .tech-article-card:hover .tech-article-cover-link { border-left-color: var(--tech-accent) !important; box-shadow: 0 6px 18px rgba(var(--tech-primary-rgb),0.22); transform: translateY(-2px); }
.tech-article-cover-img { width: 100%; height: 100%; object-fit: contain; background-color: #ffffff; border-radius: 3px; display: block; transition: transform 0.3s ease; }
.tech-article-card:hover .tech-article-cover-img { transform: scale(1.04); }
.tech-article-body-col { padding-left: 0.35rem; }
@media (max-width: 575.98px) { .tech-article-cover-col { width: 100%; margin-right: 0 !important; margin-bottom: 0.85rem; display: flex; justify-content: center; } .tech-article-cover-link { width: 135px; height: 135px; } .tech-article-body-col { padding-left: 0; } }
.tech-detail-cover-wrapper { width: 100%; max-width: 240px; aspect-ratio: 1/1; border-radius: var(--tech-radius); overflow: hidden; border: 1px solid var(--tech-gray-200); background: #ffffff; display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.tech-detail-cover-img { width: 100%; height: 100%; object-fit: contain; background-color: #ffffff; }
.tech-article-category { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; background: var(--tech-subtle); color: var(--tech-primary); border: 1px solid rgba(var(--tech-primary-rgb),0.2); padding: 0.25rem 0.65rem; border-radius: 0.4rem; display: inline-flex; align-items: center; gap: 0.35rem; }
.tech-article-title { font-size: 1.075rem; font-weight: 700; line-height: 1.45; margin: 0.5rem 0 0.4rem; color: var(--tech-gray-900); }
.tech-article-title a { color: var(--tech-gray-900); text-decoration: none; }
.tech-article-title a:hover { color: var(--tech-primary); }
.tech-article-authors { font-size: 0.85rem; color: var(--tech-gray-600); margin-bottom: 0.65rem; display: flex; align-items: center; gap: 0.4rem; }
.tech-article-meta { font-size: 0.785rem; color: var(--tech-gray-600); display: flex; flex-wrap: wrap; align-items: center; gap: 0.85rem; }
.tech-doi-pill { font-size: 0.775rem; font-family: var(--tech-font-mono); background: var(--tech-subtle); color: var(--tech-primary); border: 1px solid rgba(var(--tech-primary-rgb),0.2); border-radius: 0.4rem; padding: 0.25rem 0.55rem; text-decoration: none; display: inline-flex; align-items: center; gap: 0.35rem; transition: all 0.15s ease; }
.tech-doi-pill:hover { background: var(--tech-primary); color: #ffffff; }
.tech-article-galleys { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px !important; }
.btn-tech-pdf { background: var(--tech-gradient); color: #ffffff; border: none; font-size: 0.8rem; font-weight: 700; padding: 0.4rem 0.9rem; border-radius: 0.45rem; text-decoration: none; display: inline-flex; align-items: center; gap: 0.4rem; margin: 2px 0; box-shadow: 0 4px 12px -3px rgba(var(--tech-primary-rgb),0.4); transition: all 0.2s ease; }
.btn-tech-pdf:hover { filter: brightness(1.08); color: #ffffff; transform: translateY(-1px); }
.tech-about-specs-grid { row-gap: 0.5rem !important; }
.tech-about-spec-item { display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0.7rem; background: #ffffff; border: 1px solid var(--tech-primary); border-left: 4px solid var(--tech-primary); border-radius: 4px; transition: all 0.18s cubic-bezier(0.16,1,0.3,1); box-shadow: 0 1px 2px rgba(var(--tech-primary-rgb),0.05); height: 100%; }
.tech-about-spec-item:hover { border-left-color: var(--tech-accent); background: var(--tech-subtle); transform: translateY(-1px); }
.tech-about-spec-icon { width: 32px; height: 32px; border-radius: 4px; background: rgba(var(--tech-primary-rgb),0.08); color: var(--tech-primary); display: flex; align-items: center; justify-content: center; font-size: 0.95rem; flex-shrink: 0; }
.tech-about-spec-item:hover .tech-about-spec-icon { background: var(--tech-primary); color: #ffffff; }
.tech-about-spec-label { display: block; font-size: 0.675rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: #64748b; line-height: 1.1; }
.tech-about-spec-value { font-size: 0.8125rem; font-weight: 700; color: #0f172a; line-height: 1.25; word-break: break-word; }

/* SIDEBAR BLOCKS */
.tech-sidebar-wrapper, .tech-sidebar-blocks { display: flex; flex-direction: column; gap: 0.75rem; }
.tech-widget-card, .tech-sidebar-blocks .pkp_block { background: #ffffff; border: 2px solid var(--tech-primary) !important; border-radius: var(--tech-radius); box-shadow: 0 4px 16px rgba(var(--tech-primary-rgb),0.08); padding: 1.15rem 1.05rem; margin-bottom: 0 !important; overflow: hidden; transition: all 0.25s ease; }
.tech-widget-card:hover, .tech-sidebar-blocks .pkp_block:hover { box-shadow: 0 8px 24px rgba(var(--tech-primary-rgb),0.16); transform: translateY(-2px); }
.tech-widget-card .tech-col-title, .tech-sidebar-blocks .title:not(.pkp_screen_reader), .tech-sidebar-blocks .pkp_block_title, .tech-sidebar-blocks h2:not(.pkp_screen_reader), .tech-sidebar-blocks h3:not(.pkp_screen_reader) { font-size: 0.835rem; font-weight: 800; color: #ffffff !important; text-transform: uppercase; letter-spacing: 0.06em; background: var(--tech-gradient); margin: -1.15rem -1.05rem 0.95rem -1.05rem; padding: 0.7rem 1.05rem; border-radius: 0; display: flex; align-items: center; gap: 0.55rem; box-shadow: 0 2px 8px rgba(3,54,146,0.15); border-bottom: 2px solid rgba(255,255,255,0.18); }
.tech-widget-card .tech-col-title::after { display: none; }
.tech-widget-card .tech-col-title i, .tech-sidebar-blocks .title:not(.pkp_screen_reader) i, .tech-sidebar-blocks .pkp_block_title i, .tech-sidebar-blocks h2:not(.pkp_screen_reader) i, .tech-sidebar-blocks h3:not(.pkp_screen_reader) i { color: #fde047 !important; font-size: 0.95rem; }
.tech-sidebar-blocks .content { font-size: 0.8125rem; color: var(--tech-gray-700); line-height: 1.6; }
.tech-sidebar-blocks ul { list-style: none !important; padding-left: 0 !important; margin-bottom: 0 !important; display: flex !important; flex-direction: column !important; gap: 0.22rem !important; }
.tech-sidebar-blocks ul li { padding: 0 !important; margin: 0 !important; background: #ffffff !important; border: 1px solid var(--tech-primary) !important; border-left: 4px solid var(--tech-primary) !important; border-radius: 4px !important; transition: all 0.18s ease !important; box-shadow: 0 1px 3px rgba(var(--tech-primary-rgb),0.08) !important; overflow: hidden !important; }
.tech-sidebar-blocks ul li:hover { background: var(--tech-subtle) !important; transform: translateX(3px) !important; }
.tech-sidebar-blocks ul li a { display: flex !important; align-items: center !important; padding: 0.32rem 0.65rem !important; background: transparent !important; border: none !important; color: var(--tech-gray-900) !important; font-size: 0.8rem !important; font-weight: 700 !important; text-decoration: none !important; gap: 0.45rem !important; }
.tech-sidebar-blocks ul li a:hover { color: var(--tech-primary) !important; }
.tech-sidebar-blocks ul li a i, .tech-sidebar-blocks ul li a em { color: var(--tech-primary) !important; font-size: 0.85rem !important; width: 16px !important; text-align: center !important; flex-shrink: 0 !important; font-style: normal !important; }
.tech-sidebar-blocks img { max-width: 100%; height: auto; border-radius: 0.4rem; margin: 0.25rem 0; }

/* ARTICLE DETAILS */
.tech-article-detail-box { background: #ffffff; border-radius: var(--tech-radius-lg); border: 1px solid var(--tech-gray-200); padding: 2.25rem 2.5rem; box-shadow: 0 2px 12px rgba(0,0,0,0.04); margin-bottom: 2rem; }
@media (max-width: 767.98px) { .tech-article-detail-box { padding: 1.5rem 1.25rem; } }
.tech-detail-header-title { font-size: 1.95rem; font-weight: 800; line-height: 1.35; color: #0f172a; letter-spacing: -0.02em; margin-top: 0.5rem; margin-bottom: 1.25rem; }
@media (max-width: 767.98px) { .tech-detail-header-title { font-size: 1.45rem; } }
.tech-author-box { background: var(--tech-gray-50); border: 1px solid var(--tech-gray-200); border-radius: var(--tech-radius); padding: 1rem 1.15rem; transition: all 0.25s ease; height: 100%; }
.tech-author-box:hover { background: #ffffff; border-color: var(--tech-primary); box-shadow: 0 4px 12px rgba(var(--tech-primary-rgb),0.1); transform: translateY(-2px); }
.tech-author-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--tech-subtle); color: var(--tech-primary); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; }
.tech-abstract-card { background: #f8fafc; border-left: 4px solid var(--tech-primary); border-radius: 0 var(--tech-radius) var(--tech-radius) 0; padding: 1.5rem 1.75rem; margin: 1.25rem 0; font-size: 0.975rem; line-height: 1.85; color: var(--tech-gray-800); text-align: justify; }
.tech-keyword-tag { background: var(--tech-subtle); color: var(--tech-primary); font-size: 0.8125rem; font-weight: 700; padding: 0.35rem 0.85rem; border-radius: 2rem; border: 1px solid rgba(var(--tech-primary-rgb),0.2); display: inline-flex; align-items: center; gap: 0.3rem; margin: 0.25rem 0.25rem 0.25rem 0; transition: all 0.2s ease; text-decoration: none; }
.tech-keyword-tag:hover { background: var(--tech-primary); color: #ffffff; transform: translateY(-1px); }
.tech-references-content { font-size: 0.875rem; line-height: 1.85; color: var(--tech-gray-800); word-break: break-word; background: var(--tech-gray-50); border: 1px solid var(--tech-gray-200); border-radius: var(--tech-radius); padding: 1.25rem 1.5rem; }
.tech-sidebar-sticky { display: flex; flex-direction: column; gap: 0.75rem; position: sticky; top: 84px; }
.tech-sidebar-sticky .item.citation, .item.citation { background: #ffffff; border: 2px solid var(--tech-primary) !important; border-top: 4px solid var(--tech-primary) !important; border-radius: var(--tech-radius); box-shadow: 0 4px 16px rgba(var(--tech-primary-rgb),0.08); padding: 1.15rem 1.05rem; margin-bottom: 0 !important; overflow: hidden; }
.item.citation .sub_item.citation_display h2.label, .item.citation h2.label { font-size: 0.835rem; font-weight: 800; color: #ffffff !important; text-transform: uppercase; letter-spacing: 0.06em; background: var(--tech-gradient); margin: -1.15rem -1.05rem 0.95rem -1.05rem; padding: 0.7rem 1.05rem; display: flex; align-items: center; gap: 0.55rem; box-shadow: 0 2px 8px rgba(3,54,146,0.15); }
.item.citation #citationOutput { background: var(--tech-gray-50); border: 1px solid var(--tech-gray-200); border-radius: var(--tech-radius-sm); padding: 0.75rem 0.85rem; font-size: 0.8rem; line-height: 1.6; color: var(--tech-gray-800); margin-bottom: 0.85rem; word-break: break-word; }
.item.citation .csl-left-margin { display: none !important; }
.item.citation .citation_formats { margin-top: 0.85rem; }
.item.citation .citation_formats_button { background: var(--tech-subtle); color: var(--tech-primary); border: 1px solid rgba(var(--tech-primary-rgb),0.25); font-weight: 700; font-size: 0.8rem; border-radius: var(--tech-radius-sm); padding: 0.45rem 0.85rem; width: 100%; text-align: left; display: flex; align-items: center; justify-content: space-between; cursor: pointer; transition: all 0.2s ease; }
.item.citation .citation_formats_button:hover { background: var(--tech-primary); color: #ffffff; }
.item.citation .citation_formats_button::after { content: '\F282'; font-family: 'bootstrap-icons'; }
.item.citation .citation_formats_button[aria-expanded="true"]::after { content: '\F286'; font-family: 'bootstrap-icons'; }
.item.citation .citation_formats_list { background: #ffffff; border: 1px solid var(--tech-gray-200); border-radius: var(--tech-radius-sm); padding: 0.5rem 0.75rem; margin-top: 0.5rem; max-height: 220px; overflow-y: auto; }
.item.citation .citation_formats_styles { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 0.3rem; }
.item.citation .citation_formats_styles li a { display: block; padding: 0.35rem 0.6rem; border-radius: 0.35rem; background: var(--tech-gray-50); color: var(--tech-gray-800); text-decoration: none; font-size: 0.775rem; font-weight: 600; }
.item.citation .citation_formats_styles li a:hover { background: var(--tech-primary); color: #ffffff; }
.tech-social-btn { width: 38px; height: 38px; border-radius: 0.5rem; display: inline-flex; align-items: center; justify-content: center; color: #ffffff !important; text-decoration: none; font-size: 1.05rem; transition: transform 0.2s ease; }
.tech-social-btn:hover { transform: translateY(-2px); filter: brightness(1.1); }

/* INNER BANNER */
.tech-inner-banner { background: var(--tech-gradient); padding: 2.25rem 0 2.5rem; color: #ffffff; position: relative; border-bottom: 1px solid rgba(255,255,255,0.1); }
.tech-inner-banner::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 32px 32px; opacity: 0.45; pointer-events: none; }
.tech-inner-banner .container { position: relative; z-index: 1; }
.tech-breadcrumb { --bs-breadcrumb-divider-color: rgba(255,255,255,0.6); }
.tech-breadcrumb a { color: rgba(255,255,255,0.85); text-decoration: none; font-weight: 500; font-size: 0.875rem; }
.tech-breadcrumb a:hover { color: #ffffff; text-decoration: underline; }
.tech-breadcrumb .breadcrumb-item.active { color: rgba(255,255,255,0.7); }
.tech-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.5); }

/* FOOTER */
.tech-footer { background: linear-gradient(180deg, #020919 0%, #031533 50%, #010612 100%); color: #94a3b8; padding: 4.5rem 0 0; border-top: 1px solid rgba(0,180,216,0.25); position: relative; overflow: hidden; }
.tech-footer::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 36px 36px; pointer-events: none; opacity: 0.7; }
.tech-footer::after { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 2px; background: linear-gradient(90deg, transparent, #00b4d8, #033692, transparent); box-shadow: 0 0 16px rgba(0,180,216,0.7); pointer-events: none; }
.tech-footer .container { position: relative; z-index: 1; }
.tech-footer-brand { display: inline-flex; align-items: center; gap: 0.85rem; text-decoration: none; transition: transform 0.2s ease; }
.tech-footer-brand:hover { transform: translateY(-2px); }
.tech-footer-brand-logo { max-height: 50px; width: auto; object-fit: contain; background: #ffffff; padding: 5px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.25); }
.tech-footer-brand-initials { font-size: 1.65rem; font-weight: 900; line-height: 1.1; letter-spacing: 0.04em; text-transform: uppercase; background: linear-gradient(135deg, #ffffff 0%, #7dd3fc 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.tech-footer-brand-title { font-size: 0.775rem; color: #cbd5e1; line-height: 1.3; margin-top: 2px; }
.tech-footer-about { color: #94a3b8; font-size: 0.875rem; line-height: 1.7; margin-bottom: 1.25rem; }
.tech-footer-badge { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 6px; padding: 0.35rem 0.65rem; font-size: 0.8rem; color: #cbd5e1; display: inline-flex; align-items: center; gap: 0.4rem; }
.tech-footer-badge i { color: var(--tech-accent); }
.tech-footer-badge strong { color: #fff; }
.tech-footer-title { color: #ffffff; font-size: 1.05rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1.35rem; position: relative; padding-bottom: 0.65rem; display: flex; align-items: center; gap: 0.45rem; }
.tech-footer-title i { color: var(--tech-accent); }
.tech-footer-title::after { content: ''; position: absolute; bottom: 0; left: 0; width: 35px; height: 2.5px; border-radius: 2px; background: linear-gradient(90deg, var(--tech-accent), var(--tech-primary)); }
.tech-footer-links { list-style: none; padding-left: 0; margin-bottom: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.tech-footer-links a { color: #94a3b8; text-decoration: none; font-size: 0.885rem; font-weight: 500; transition: all 0.22s ease; display: inline-flex; align-items: center; gap: 0.45rem; }
.tech-footer-links a:hover { color: #ffffff; transform: translateX(4px); }
.tech-footer-links a i { color: var(--tech-accent); font-size: 0.75rem; }
.tech-footer-contact-item { display: flex; align-items: flex-start; gap: 0.65rem; margin-bottom: 0.75rem; font-size: 0.85rem; color: #cbd5e1; line-height: 1.5; }
.tech-footer-contact-icon { width: 28px; height: 28px; border-radius: 6px; background: rgba(0,180,216,0.12); border: 1px solid rgba(0,180,216,0.25); color: var(--tech-accent); display: flex; align-items: center; justify-content: center; font-size: 0.85rem; flex-shrink: 0; margin-top: 1px; }
.tech-footer a.text-info { color: var(--tech-accent) !important; }
.tech-footer .tech-social-btn { width: 36px; height: 36px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.15); box-shadow: 0 2px 6px rgba(0,0,0,0.25); }
.tech-footer-pkp-box { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 0.75rem 0.85rem; transition: all 0.22s ease; }
.tech-footer-pkp-box:hover { background: rgba(255,255,255,0.06); border-color: rgba(0,180,216,0.35); }
.tech-footer-bottom { padding: 1.5rem 0; margin-top: 3.5rem; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.85rem; color: #64748b; position: relative; z-index: 1; }
.tech-footer-bottom strong { color: #cbd5e1; }

/* FLOATING ACTIONS */
.tech-floating-actions { position: fixed; bottom: 24px; right: 24px; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; z-index: 9990; pointer-events: none; }
.tech-floating-actions > * { pointer-events: auto; }
.tech-float-whatsapp { display: flex; align-items: center; gap: 8px; background: linear-gradient(135deg, #25d366 0%, #128c7e 100%); color: #ffffff !important; text-decoration: none !important; padding: 10px 16px 10px 14px; border-radius: 50px; box-shadow: 0 6px 20px rgba(37,211,102,0.4); border: 1.5px solid rgba(255,255,255,0.4); transition: all 0.28s ease; font-size: 0.875rem; font-weight: 700; }
.tech-float-whatsapp i { font-size: 1.35rem; animation: techWaPulse 2.5s infinite; }
.tech-float-whatsapp:hover { transform: translateY(-4px) scale(1.04); color: #ffffff !important; }
@keyframes techWaPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15) rotate(-6deg); } }
.tech-back-to-top { width: 44px; height: 44px; border-radius: 50%; background: var(--tech-gradient); color: #ffffff !important; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(3,54,146,0.35); border: 1.5px solid rgba(255,255,255,0.35); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(16px) scale(0.85); transition: all 0.28s ease; text-decoration: none !important; font-size: 1.2rem; }
.tech-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.tech-back-to-top:hover { transform: translateY(-4px) scale(1.08); color: #ffffff !important; }
@media (max-width: 575.98px) { .tech-floating-actions { bottom: 16px; right: 16px; } .tech-float-whatsapp { padding: 10px; border-radius: 50%; width: 44px; height: 44px; justify-content: center; } .tech-float-whatsapp .tech-float-label { display: none; } .tech-back-to-top { width: 40px; height: 40px; } }

/* OJS structure resets (full-width Bootstrap layout) */
.pkp_structure_page { max-width: none !important; margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; background: var(--tech-bg) !important; }
.pkp_structure_content { display: block !important; width: 100% !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important; float: none !important; }
.pkp_structure_content.has_sidebar { width: 100% !important; float: none !important; }
.pkp_structure_main { width: auto !important; float: none !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: none !important; }
.pkp_structure_main:before, .pkp_structure_main:after { display: none !important; content: none !important; }
body.pkp_page_article .pkp_structure_content.has_sidebar .pkp_structure_sidebar { display: none !important; }
html, body { overflow-x: hidden !important; max-width: 100vw; }
img, svg { max-width: 100%; height: auto; }

@media (max-width: 991.98px) {
  .tech-nav { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.15rem 1rem; box-shadow: 0 12px 30px rgba(0,0,0,0.08); margin-top: 0.75rem; }
  .tech-hero { padding: 2.75rem 0 2rem; }
  .tech-hero-title { font-size: clamp(1.5rem, 4.5vw, 2.25rem); line-height: 1.25; }
}
@media (max-width: 767.98px) {
  .tech-hero { padding: 2.25rem 0 1.5rem; text-align: center; }
  .tech-footer { padding: 2.75rem 0 0; }
  .tech-footer-bottom { margin-top: 2rem; text-align: center; }
}

/* --- Bridge: OJS load_menu markup -> tech navbar look --- */
.tech-nav .navbar-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.1rem; margin: 0; padding: 0; list-style: none; }
.tech-nav .navbar-nav li { list-style: none; position: relative; }
.tech-nav .navbar-nav > li > a { display: block; font-size: 0.875rem; font-weight: 700; color: var(--tech-gray-700); padding: 0.6rem 0.95rem; border-radius: var(--tech-radius-sm); text-transform: uppercase; letter-spacing: 0.035em; text-decoration: none; transition: all 0.2s ease; }
.tech-nav .navbar-nav > li > a:hover, .tech-nav .navbar-nav > li.current > a { color: var(--tech-primary); background: var(--tech-subtle); }
.tech-nav .navbar-nav ul { position: absolute; top: 100%; left: 0; min-width: 14rem; background: #fff; border: 1px solid var(--tech-gray-200); border-radius: var(--tech-radius); box-shadow: var(--tech-shadow-lg); padding: 0.5rem; list-style: none; margin: 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: all 0.18s ease; z-index: 100; }
.tech-nav .navbar-nav li:hover > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.tech-nav .navbar-nav ul a { display: block; padding: 0.5rem 0.75rem; font-size: 0.85rem; font-weight: 600; color: var(--tech-gray-700); text-decoration: none; border-radius: 0.4rem; text-transform: none; letter-spacing: 0; }
.tech-nav .navbar-nav ul a:hover { background: var(--tech-subtle); color: var(--tech-primary); }
.tech-nav .tech-user-menu > li > a { text-transform: none; background: var(--tech-subtle); color: var(--tech-primary) !important; border-radius: 2rem; padding: 0.35rem 0.95rem; }
@media (max-width: 991.98px){
  .tech-nav .navbar-nav { flex-direction: column; align-items: stretch; }
  .tech-nav .navbar-nav ul { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; }
}
/* Wrap footer-rendered sidebar blocks so their card styling applies */
.pkp_structure_sidebar .pkp_block { background: #fff; }

/* Override journal's custom green (#87f8ab) .article_item boxes -> theme cards */
.styled_section { background-color: #fff !important; }
.section_title { color: var(--tech-gray-900) !important; border-bottom: 1px solid var(--tech-gray-200) !important; }
/* .article_item is the journal's <li> wrapper around .tech-article-card -> keep it bare (single box) */
.styled_section .cmp_article_list, .styled_section ul.cmp_article_list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.article_item { background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 1.25rem 0 !important; overflow: visible !important; }
.article_item:hover { transform: none !important; box-shadow: none !important; }
.article_item .title { color: var(--tech-gray-900) !important; }
.article_item .title:hover { color: var(--tech-primary) !important; }
/* Custom stats table in issue TOC */
.cmp_article_list.articles table th, .sections .section table th { background: var(--tech-primary) !important; color: #fff !important; }
.cmp_article_list.articles table td, .sections .section table td { border-color: var(--tech-gray-200) !important; }

/* Retarget journal's custom brick-red (#a93317) block banners/menus -> theme blue */
.tech-sidebar-blocks [style*="a93317"], .pkp_structure_sidebar [style*="a93317"],
.tech-sidebar-blocks [style*="A93317"], .pkp_structure_sidebar [style*="A93317"] {
  background: var(--tech-gradient) !important;
  background-color: var(--tech-primary) !important;
  border-color: var(--tech-primary-hover) !important;
  border-radius: var(--tech-radius-sm) !important;
  color: #ffffff !important;
}
.tech-sidebar-blocks a[style*="a93317"]:hover, .pkp_structure_sidebar a[style*="a93317"]:hover { background: var(--tech-primary-hover) !important; color: #fff !important; }
.tech-sidebar-blocks .badan { text-align: center; }
.tech-sidebar-blocks .badan img { margin: 0.25rem auto; }

/* Prevent wide content (tables, Scopus widgets, long DOIs) from overflowing
   a Bootstrap column and covering the sidebar (flexbox min-width fix) */
.technova .row > [class*="col-"] { min-width: 0; }
.technova .pkp_structure_content .col-lg-9, .technova .pkp_structure_content .col-lg-3 { min-width: 0; }
.tech-sidebar-blocks, .tech-sidebar-blocks .pkp_block, .tech-sidebar-blocks .content { max-width: 100%; min-width: 0; }
.tech-sidebar-blocks .content { overflow-x: auto; }
.tech-sidebar-blocks table { max-width: 100%; width: 100%; font-size: 0.72rem; }
.tech-sidebar-blocks iframe, .tech-sidebar-blocks embed, .tech-sidebar-blocks img { max-width: 100% !important; height: auto; }
/* Authors Statistics table (custom) stays within the left column */
.col-lg-9 .sections table, .col-lg-9 .cmp_article_list table, .technova .page_issue table, .technova .page_index_journal table { max-width: 100% !important; width: 100% !important; table-layout: fixed; word-break: break-word; }
.technova .tech-article-card { max-width: 100%; overflow: hidden; }

/* Issue page: wrap the issue intro/description in a card box */
.technova .page_issue .obj_issue_toc > .heading,
.technova .page_issue .obj_issue_toc .heading:first-child {
  background: #fff;
  border: 1px solid var(--tech-gray-200);
  border-left: 4px solid var(--tech-primary);
  border-radius: var(--tech-radius-lg);
  padding: 1.5rem 1.75rem;
  box-shadow: var(--tech-shadow);
  margin-bottom: 1.5rem;
  max-width: 100%;
  overflow: hidden;
}
.technova .page_issue .obj_issue_toc .heading .description { color: var(--tech-gray-700); line-height: 1.8; }

/* Authors Statistics / styled_section as a clean card, kept inside the column */
.technova .styled_sections { width: 100% !important; max-width: 100% !important; margin-bottom: 1.5rem !important; }
.technova .styled_section {
  background: #fff !important;
  border: 1px solid var(--tech-gray-200) !important;
  border-left: 4px solid var(--tech-primary) !important;
  border-radius: var(--tech-radius-lg) !important;
  padding: 1.5rem !important;
  box-shadow: var(--tech-shadow) !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  box-sizing: border-box !important;
}
.technova .styled_section > .section_title,
.technova .styled_section > h2:first-child { color: var(--tech-gray-900) !important; font-weight: 800; font-size: 1.05rem; margin: 0 0 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--tech-gray-200); }

/* Box the issue intro/description on ALL pages (homepage LATEST ARTICLES + issue) */
.technova .obj_issue_toc > .heading {
  background: #fff !important;
  border: 1px solid var(--tech-gray-200) !important;
  border-left: 4px solid var(--tech-primary) !important;
  border-radius: var(--tech-radius-lg) !important;
  padding: 1.5rem 1.75rem !important;
  box-shadow: var(--tech-shadow) !important;
  margin-bottom: 1.5rem !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.technova .obj_issue_toc > .heading .description { color: var(--tech-gray-700); line-height: 1.8; }

/* Box the Authors Statistics section (a .section that contains a table) — not article sections */
.technova .obj_issue_toc .sections > .section:has(table),
.technova .obj_issue_toc .styled_sections > .styled_section {
  background: #fff !important;
  border: 1px solid var(--tech-gray-200) !important;
  border-left: 4px solid var(--tech-primary) !important;
  border-radius: var(--tech-radius-lg) !important;
  padding: 1.5rem !important;
  box-shadow: var(--tech-shadow) !important;
  margin-bottom: 1.5rem !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  box-sizing: border-box !important;
}
.technova .obj_issue_toc .sections > .section:has(table) > h2,
.technova .obj_issue_toc .styled_section > h2:first-child,
.technova .obj_issue_toc .styled_section > .section_title {
  font-size: 1.05rem; font-weight: 800; color: var(--tech-gray-900) !important;
  margin: 0 0 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--tech-gray-200);
}

/* Issue page: header card already shows the description -> hide the duplicate issue_toc heading box */
.technova .page_issue .obj_issue_toc > .heading { display: none !important; }

/* Sidebar menu items with custom #a93317 inline colour -> clean full solid buttons (no half-fill) */
.tech-sidebar-blocks ul li:has(> a[style*="a93317"]),
.tech-sidebar-blocks ul li:has(> a[style*="A93317"]),
.pkp_structure_sidebar ul li:has(> a[style*="a93317"]) {
  border: none !important; padding: 0 !important; background: transparent !important;
  box-shadow: none !important; margin: 0 0 0.4rem 0 !important; overflow: visible !important;
}
.tech-sidebar-blocks ul li:has(> a[style*="a93317"]):hover,
.pkp_structure_sidebar ul li:has(> a[style*="a93317"]):hover { transform: none !important; }
.tech-sidebar-blocks a[style*="a93317"], .tech-sidebar-blocks a[style*="A93317"],
.pkp_structure_sidebar a[style*="a93317"] {
  display: block !important; width: 100% !important; box-sizing: border-box !important;
  padding: 0.6rem 0.9rem !important; border: none !important; border-radius: var(--tech-radius-sm) !important;
  background: var(--tech-gradient) !important; background-color: var(--tech-primary) !important;
  color: #ffffff !important; font-weight: 700 !important; text-align: left !important; text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(var(--tech-primary-rgb),0.25) !important;
}
.tech-sidebar-blocks a[style*="a93317"]:hover, .pkp_structure_sidebar a[style*="a93317"]:hover {
  filter: brightness(1.1) !important; color: #fff !important; transform: translateY(-1px) !important;
}
.tech-sidebar-blocks a[style*="a93317"] em, .tech-sidebar-blocks a[style*="a93317"] i { color: #fde047 !important; }

/* Hide OJS's default breadcrumb (we show it in the blue inner-banner instead) */
.technova .cmp_breadcrumbs, .technova .pkp_breadcrumbs, .technova nav.cmp_breadcrumbs { display: none !important; }
/* Breadcrumb bar styling (JOCSTEC style: white text on blue) */
.tech-inner-banner .breadcrumb { margin: 0; }
.tech-inner-banner .breadcrumb-item, .tech-inner-banner .breadcrumb-item a { color: rgba(255,255,255,0.9) !important; font-weight: 500; }
.tech-inner-banner .breadcrumb-item.active { color: #ffffff !important; }
.tech-inner-banner .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.6) !important; content: "/"; }

/* Column alignment: all direct boxes in the main column share full width & left edge */
.technova .pkp_structure_content .col-lg-9 > *,
.technova .pkp_structure_content .col-lg-9 .obj_issue_toc > * { max-width: 100% !important; box-sizing: border-box; }
.technova .tech-issue-header-card, .technova .styled_section, .technova .tech-article-detail-box,
.technova .obj_issue_toc > .heading, .technova .obj_issue_toc .sections > .section:has(table) { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Article page: authors stacked vertically with affiliation */
.tech-author-list { display: flex; flex-direction: column; gap: 0.5rem; }
.tech-author-row { display: block; line-height: 1.5; font-size: 0.95rem; color: var(--tech-gray-800); }
.tech-author-ico { color: var(--tech-primary); margin-right: 0.5rem; }
.tech-author-name { font-weight: 700; color: var(--tech-gray-900); }
.tech-author-aff { color: var(--tech-gray-600); font-size: 0.9rem; }

/* Issue/homepage article card: authors stacked with affiliation */
.tech-card-author-list { display: flex; flex-direction: column; gap: 0.2rem; }
.tech-card-author-row { display: block; font-size: 0.83rem; line-height: 1.45; color: var(--tech-gray-700); }
.tech-card-author-row .tech-author-ico { color: var(--tech-primary); margin-right: 0.35rem; }
.tech-card-author-row .tech-author-name { font-weight: 700; color: var(--tech-gray-900); }
.tech-card-author-row .tech-author-aff { color: var(--tech-gray-600); }

/* Article page: hide the duplicate (plugin) Downloads chart; keep only the boxed tech one */
.technova .obj_article_details .item.downloads_chart { display: none !important; }

/* Links: no underline anywhere (Bootstrap 5 underlines links by default) */
.technova a,
.technova a:hover,
.technova a:focus,
.technova .pkp_structure_content a,
.technova .tech-footer a,
.technova .tech-sidebar-blocks a,
.technova .breadcrumb a { text-decoration: none !important; }

/* Journal description contains a dark-designed hero banner (white text).
   Render the homepage About card as a DARK section so that content shows,
   without altering the journal's HTML. */
.technova-home .tech-about-card {
  background: var(--tech-gradient-hero) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: var(--tech-shadow-lg) !important;
}
/* $jDesc wrapper: force readable light text on the dark card */
.technova-home .tech-about-card > .text-muted,
.technova-home .tech-about-card > .text-muted p,
.technova-home .tech-about-card > .text-muted li,
.technova-home .tech-about-card > .text-muted div,
.technova-home .tech-about-card > .text-muted span:not([style*="text-fill-color: transparent"]) { color: rgba(255,255,255,0.85) !important; }
.technova-home .tech-about-card > .text-muted strong { color: #ffffff !important; }
.technova-home .tech-about-card > .text-muted a { color: #7dd3fc !important; }
.technova-home .tech-about-card > .text-muted a:hover { color: #ffffff !important; }
/* Info table -> translucent panel on the dark card */
.technova-home .tech-about-card > .text-muted table.data { background: rgba(255,255,255,0.06) !important; border-radius: var(--tech-radius-sm); overflow: hidden; }
.technova-home .tech-about-card > .text-muted table.data td { background: transparent !important; border-color: rgba(255,255,255,0.10) !important; color: rgba(255,255,255,0.85) !important; padding: 8px 12px; }
.technova-home .tech-about-card > .text-muted table.data strong { color: #ffffff !important; }
.technova-home .tech-about-card > .text-muted img { max-width: 100%; height: auto; }

/* About / submissions / static base pages: center content in a card + tidy typography */
.technova .pkp_structure_main > .page:not(.container):not(.technova-home) {
  max-width: 1180px; margin: 1.5rem auto; padding: 2rem 2.5rem;
  background: #ffffff; border: 1px solid var(--tech-gray-200);
  border-radius: var(--tech-radius-lg); box-shadow: var(--tech-shadow); box-sizing: border-box;
}
@media (min-width: 1400px){ .technova .pkp_structure_main > .page:not(.container):not(.technova-home) { max-width: 1300px; } }
@media (max-width: 991px){ .technova .pkp_structure_main > .page:not(.container):not(.technova-home) { margin: 1rem; padding: 1.25rem 1.25rem; } }
.technova .pkp_structure_main > .page > h1 {
  font-size: 1.7rem; font-weight: 800; color: var(--tech-gray-900);
  margin: 0 0 1.25rem; padding-bottom: 0.65rem; border-bottom: 3px solid var(--tech-primary); display: inline-block;
}
.technova .pkp_structure_main > .page h2 { font-size: 1.2rem; font-weight: 700; color: var(--tech-gray-900); margin: 1.6rem 0 0.75rem; }
.technova .pkp_structure_main > .page h3 { font-size: 1.05rem; font-weight: 700; color: var(--tech-gray-800); margin: 1.2rem 0 0.6rem; }
.technova .pkp_structure_main > .page p { line-height: 1.8; color: var(--tech-gray-700); }
.technova .page_submissions .submission_checklist ul,
.technova .page_submissions .author_guidelines ul { padding-left: 1.25rem; }
.technova .page_submissions .submission_checklist li,
.technova .page_submissions .author_guidelines li { margin-bottom: 0.45rem; line-height: 1.6; }
.technova .page_submissions .section,
.technova .page_about .section { margin-bottom: 1.5rem; }
.technova .page_submissions table, .technova .page_about table { max-width: 100%; }

/* Base pages (about/submissions/fee/announcement/static) with a real sidebar -> 2 columns.
   Scoped with :has() so homepage/article/issue (sidebar suppressed) are unaffected. */
/* Match the Bootstrap .container + col-lg-9/col-lg-3 layout of issue/view (issue.tpl) */
.technova .pkp_structure_content:has(> .pkp_structure_sidebar) {
  display: flex !important; gap: 24px; align-items: flex-start;
  max-width: 1140px !important; margin: 0 auto !important; padding: 1.5rem 12px !important; box-sizing: border-box;
}
@media (min-width: 1400px){ .technova .pkp_structure_content:has(> .pkp_structure_sidebar) { max-width: 1320px !important; } }
.technova .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main { flex: 1 1 auto; min-width: 0; width: auto !important; }
.technova .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_sidebar { flex: 0 0 25%; max-width: 25%; float: none !important; }
/* content card fills the main column (not centered/max-width) when a sidebar is present */
.technova .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main > .page:not(.container):not(.technova-home) { max-width: none !important; margin: 1.5rem 0 !important; }
@media (max-width: 991px){
  .technova .pkp_structure_content:has(> .pkp_structure_sidebar) { flex-wrap: wrap; }
  .technova .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_sidebar { flex-basis: 100%; width: 100%; }
}

/* Make every static .page (About, Editorial Team, Submissions, Fee, Announcement...)
   look and sit exactly like the issue header card in the screenshot:
   full blue border, rounded, soft shadow, aligned to the top of the column. */
.technova .pkp_structure_main > .page:not(.container):not(.technova-home) {
  background: #ffffff !important;
  border: 2px solid var(--tech-primary) !important;
  border-top: 4px solid var(--tech-primary) !important;
  border-radius: var(--tech-radius-lg) !important;
  box-shadow: 0 4px 20px rgba(var(--tech-primary-rgb),0.08) !important;
  margin-top: 0 !important;            /* top-align with the sidebar's first card */
}
/* When a sidebar is present, sit flush at the top of the content column */
.technova .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main > .page:not(.container):not(.technova-home) {
  margin: 0 0 1.5rem 0 !important;
}
.technova .page_editorial_team .member, .technova .page_editorial_team li { line-height: 1.5; margin-bottom: 0.35rem; }
.technova .page_editorial_team h2, .technova .page_editorial_team h3 { color: var(--tech-primary) !important; }

/* ============================================================
   Editorial Team — member cards (paste HTML uses these classes)
   ============================================================ */
.tn-editorial { margin: 0; }
.tn-editorial .tn-group-title {
  font-size: 1.15rem; font-weight: 800; color: var(--tech-primary);
  margin: 1.9rem 0 1.1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--tech-primary);
}
.tn-editorial .tn-group-title:first-child { margin-top: 0.25rem; }
.tn-member {
  display: flex; align-items: stretch; gap: 1.25rem;
  background: #fff; border: 1px solid var(--tech-gray-200); border-left: 4px solid var(--tech-primary);
  border-radius: 16px; padding: 1.25rem 1.4rem; margin-bottom: 1.1rem;
  box-shadow: 0 4px 18px rgba(var(--tech-primary-rgb),0.06);
  transition: box-shadow .25s ease, transform .25s ease;
}
.tn-member:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(var(--tech-primary-rgb),0.14); }
.tn-photo { flex: 0 0 auto; width: 96px; height: 96px; border-radius: 14px; overflow: hidden;
  border: 2px solid var(--tech-primary); background: #eef3fb; box-shadow: 0 3px 10px rgba(var(--tech-primary-rgb),.18); }
.tn-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tn-avatar { flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  width: 96px; height: 96px; border-radius: 14px; color: #fff; font-weight: 800; font-size: 1.6rem;
  background: linear-gradient(135deg, var(--tech-primary), #10256b); box-shadow: 0 3px 10px rgba(var(--tech-primary-rgb),.25); }
.tn-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .4rem; }
.tn-name-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.tn-name { font-size: 1.2rem; font-weight: 800; color: var(--tech-gray-900); line-height: 1.2; }
.tn-badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; font-weight: 700;
  color: #fff; padding: .32rem .7rem; border-radius: 999px; letter-spacing: .02em; white-space: nowrap; }
.tn-badge i { font-size: .82rem; }
.tn-badge-chief { background: linear-gradient(135deg,#f0a500,#e07d00); box-shadow: 0 3px 8px rgba(224,125,0,.3); }
.tn-badge-role  { background: linear-gradient(135deg, var(--tech-primary), #10256b); box-shadow: 0 3px 8px rgba(var(--tech-primary-rgb),.3); }
.tn-affil { font-size: 1rem; font-weight: 600; color: var(--tech-gray-700); }
.tn-meta { font-size: .85rem; color: var(--tech-gray-600); line-height: 1.5; }
.tn-meta a { color: var(--tech-primary); font-weight: 600; text-decoration: none; }
.tn-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .15rem; }
.tn-tag { font-size: .8rem; font-weight: 600; color: var(--tech-gray-700); background: var(--tech-gray-100,#eef1f6);
  border: 1px solid var(--tech-gray-200); padding: .28rem .7rem; border-radius: 8px; }
.tn-country { display: inline-flex; align-items: center; gap: .45rem; align-self: flex-start;
  font-size: .9rem; font-weight: 700; color: var(--tech-primary);
  background: rgba(var(--tech-primary-rgb),.08); padding: .3rem .7rem; border-radius: 999px; }
.tn-flag { font-size: 1.05rem; line-height: 1; }
.tn-links { flex: 0 0 210px; display: flex; flex-direction: column; gap: .55rem; justify-content: center;
  padding-left: 1.25rem; border-left: 1px solid var(--tech-gray-200); }
.tn-link { display: flex; align-items: center; gap: .6rem; text-decoration: none !important;
  border: 1px solid var(--tech-gray-200); border-radius: 999px; padding: .3rem .55rem; background: #fff;
  color: var(--tech-gray-800); font-weight: 600; font-size: .9rem;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tn-link:hover { border-color: var(--tech-primary); box-shadow: 0 3px 10px rgba(var(--tech-primary-rgb),.12); transform: translateX(2px); }
.tn-ico { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: .82rem; font-weight: 800; }
.tn-ico-scholar { background: #1b7ba0; }
.tn-ico-orcid   { background: #a6ce39; }
.tn-ico-scopus  { background: var(--tech-primary); font-size: .72rem; }
.tn-ico-sinta   { background: #e8862a; }
.tn-ico-email   { background: #d0432b; }
.tn-ico-web     { background: var(--tech-primary); }
/* Country flag as an image (emoji flags don't render on Windows) */
.tn-flag-img { width: 24px; height: 18px; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.08); display: inline-block; vertical-align: middle; }
/* Disabled / no-link buttons (rendered as a grey, non-clickable pill) */
.tn-link.tn-link-disabled { color: var(--tech-gray-400,#9aa3af); background: #f6f7f9; cursor: default; }
.tn-link.tn-link-disabled:hover { border-color: var(--tech-gray-200); box-shadow: none; transform: none; }
.tn-link.tn-link-disabled .tn-ico { background: #c3c9d4 !important; color: #fff; }
@media (max-width: 767.98px){
  .tn-member { flex-direction: column; }
  .tn-links { flex-basis: auto; border-left: none; border-top: 1px solid var(--tech-gray-200); padding-left: 0; padding-top: 1rem; }
}

/* ============================================================
   Extech-style footer (CTA banner + navy 4-column footer)
   ============================================================ */
.technova { --tn-navy: #101a4b; --tn-navy-2: #0b1440; --tn-blue: var(--tech-primary); }

/* CTA banner */
.tn-cta-wrap { margin-top: 4rem; }
.tn-cta { position: relative; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
  background: linear-gradient(120deg, var(--tech-primary), #4a63ff);
  border-radius: 22px; padding: 1.6rem 2.4rem; margin-bottom: -3.2rem; z-index: 3;
  box-shadow: 0 18px 40px rgba(var(--tech-primary-rgb),.28); overflow: hidden; }
.tn-cta::after { content: ""; position: absolute; right: -40px; top: -60px; width: 320px; height: 320px;
  background: radial-gradient(circle at center, rgba(255,255,255,.18), transparent 60%); pointer-events: none; }
.tn-cta-media { flex: 0 0 auto; width: 132px; height: 108px; margin-top: -3.6rem; margin-bottom: -3.6rem;
  background: #fff; border-radius: 16px; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 28px rgba(0,0,0,.18); padding: 12px; }
.tn-cta-media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tn-cta-media i { font-size: 3rem; color: var(--tech-primary); }
.tn-cta-text { flex: 1 1 auto; min-width: 200px; color: #fff; }
.tn-cta-kicker { display: block; font-size: .95rem; font-weight: 600; opacity: .9; }
.tn-cta-title { font-size: 1.7rem; font-weight: 800; margin: .1rem 0 0; line-height: 1.15; color: #fff; }
.tn-cta-action { flex: 0 0 auto; }
.tn-cta-btn { display: inline-flex; align-items: center; gap: .55rem; background: #fff; color: var(--tech-primary) !important;
  font-weight: 800; font-size: .9rem; letter-spacing: .02em; text-transform: uppercase;
  padding: .85rem 1.6rem; border-radius: 999px; text-decoration: none !important; white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0,0,0,.14); transition: transform .2s ease, box-shadow .2s ease; }
.tn-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,0,0,.22); }
.tn-cta-btn i { transition: transform .2s ease; }
.tn-cta-btn:hover i { transform: translateX(4px); }

/* Footer body */
.tn-foot { background: var(--tn-navy); color: #c7cbe6; padding: 6rem 0 0; }
.tn-foot a { color: #c7cbe6; text-decoration: none; }
.tn-foot-brand { display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
.tn-foot-brand img { height: 44px; width: auto; }
.tn-foot-brand span { font-size: 1.5rem; font-weight: 800; color: #fff; }
.tn-foot-desc { font-size: .92rem; line-height: 1.7; color: #a6abd0; max-width: 340px; }
.tn-foot-social { display: flex; gap: .6rem; margin-top: 1.1rem; }
.tn-foot-social a { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px;
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1rem; transition: all .2s ease; }
.tn-foot-social a:hover { background: var(--tech-primary); border-color: var(--tech-primary); transform: translateY(-2px); }
.tn-foot-title { color: #fff; font-size: 1.15rem; font-weight: 800; margin-bottom: 1.4rem; position: relative; padding-bottom: .6rem; }
.tn-foot-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: var(--tech-primary); border-radius: 3px; }
.tn-foot-links { list-style: none; padding: 0; margin: 0; }
.tn-foot-links li { margin-bottom: .7rem; }
.tn-foot-links a { display: inline-flex; align-items: center; gap: .5rem; font-size: .93rem; transition: color .2s ease, transform .2s ease; }
.tn-foot-links a i { font-size: .8rem; color: var(--tech-primary); }
.tn-foot-links a:hover { color: #fff; transform: translateX(3px); }
/* Explore / posts */
.tn-foot-posts { display: flex; flex-direction: column; gap: 1rem; }
.tn-foot-post { display: flex; align-items: center; gap: .85rem; }
.tn-foot-post-thumb { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
  background: rgba(var(--tech-primary-rgb),.22); color: #fff; font-size: 1.3rem; transition: background .2s ease; }
.tn-foot-post:hover .tn-foot-post-thumb { background: var(--tech-primary); }
.tn-foot-post-body { display: flex; flex-direction: column; min-width: 0; }
.tn-foot-post-meta { font-size: .78rem; color: #9aa0cc; display: inline-flex; align-items: center; gap: .35rem; }
.tn-foot-post-meta i { color: var(--tech-primary); }
.tn-foot-post-title { font-size: .98rem; font-weight: 700; color: #fff; }
.tn-foot-post:hover .tn-foot-post-title { color: var(--tech-primary); }
/* Contact */
.tn-foot-contact { list-style: none; padding: 0; margin: 0 0 1.2rem; }
.tn-foot-contact li { display: flex; align-items: center; gap: .65rem; margin-bottom: .8rem; font-size: .93rem; }
.tn-foot-contact li i { color: var(--tech-primary); font-size: 1rem; }
.tn-foot-contact a { color: #c7cbe6; }
.tn-foot-contact a:hover { color: #fff; }
.tn-foot-news-input { display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  background: #fff; border-radius: 12px; padding: .35rem .35rem .35rem 1rem; text-decoration: none !important; }
.tn-foot-news-input > span:first-child { color: #6b7280; font-size: .9rem; font-weight: 600; }
.tn-foot-news-btn { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 10px; background: var(--tech-primary);
  color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; transition: background .2s ease; }
.tn-foot-news-input:hover .tn-foot-news-btn { background: #4a63ff; }
.tn-foot-custom { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); color: #a6abd0; font-size: .88rem; }
/* Bottom bar */
.tn-foot-bottom { background: var(--tech-primary); margin-top: 4rem; padding: 1.1rem 0; }
.tn-foot-bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; color: #eaf0ff; font-size: .9rem; }
.tn-foot-bottom-inner strong { color: #fff; }
.tn-foot-bottom-links { display: flex; gap: 1.5rem; }
.tn-foot-bottom-links a { color: #eaf0ff; text-decoration: none; font-size: .9rem; }
.tn-foot-bottom-links a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 767.98px){
  .tn-cta { padding: 1.4rem; margin-bottom: -2.4rem; }
  .tn-cta-media { margin: 0; width: 84px; height: 72px; }
  .tn-cta-title { font-size: 1.3rem; }
  .tn-foot { padding-top: 5rem; }
  .tn-foot-bottom-inner { justify-content: center; text-align: center; }
}

/* ============================================================
   Sotcox-style light footer (3 action cards + 3 columns)
   ============================================================ */
.tn-sf { background: #141c47; padding: 4rem 0 1.5rem; color: #b9bee0; }
.tn-sf a { text-decoration: none; }
/* Action cards */
.tn-sf-cards { margin-bottom: 3.5rem; }
.tn-sf-card { background: #fff; border-radius: 8px; padding: 2.2rem 2rem; height: 100%;
  box-shadow: 0 20px 45px rgba(16,26,75,.07); display: flex; flex-direction: column; }
.tn-sf-card-ico { font-size: 2.1rem; margin-bottom: 1.6rem; line-height: 1; }
.tn-sf-ico-blue { color: var(--tech-primary); }
.tn-sf-ico-amber { color: #f5a623; }
.tn-sf-kicker { font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .8rem; }
.tn-sf-kicker-blue { color: var(--tech-primary); }
.tn-sf-kicker-amber { color: #f5a623; }
.tn-sf-card-title { font-size: 1.4rem; font-weight: 800; color: var(--tech-gray-900); line-height: 1.3; margin: 0 0 auto; }
.tn-sf-btn { align-self: flex-start; margin-top: 1.8rem; background: var(--tech-primary); color: #fff !important;
  font-weight: 700; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase;
  padding: .85rem 1.7rem; border-radius: 4px; transition: background .2s ease, transform .2s ease; }
.tn-sf-btn:hover { background: #10256b; transform: translateY(-2px); }
.tn-sf-phone { display: inline-flex; align-items: center; gap: .9rem; margin-top: 1.8rem; }
.tn-sf-phone-ico { width: 46px; height: 46px; border-radius: 50%; background: var(--tech-primary); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex: 0 0 auto; }
.tn-sf-phone span:last-child { font-size: 1.35rem; font-weight: 800; color: var(--tech-gray-900); }
/* Footer columns */
.tn-sf-main { padding: 2.5rem 0 2rem; border-top: 1px solid rgba(255,255,255,.10); }
.tn-sf-brand { display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 1.4rem; }
.tn-sf-brand img { height: 46px; width: auto; }
.tn-sf-brand span { font-size: 1.7rem; font-weight: 800; color: #fff; }
.tn-sf-contact { list-style: none; padding: 0; margin: 0 0 1.4rem; }
.tn-sf-contact li { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .75rem; font-size: .95rem; color: #a6abd0; }
.tn-sf-contact li i { color: var(--tech-primary); margin-top: .18rem; }
.tn-sf-contact a { color: #a6abd0; }
.tn-sf-contact a:hover { color: #fff; }
.tn-sf-social { display: flex; gap: 1.2rem; }
.tn-sf-social a { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.16); border-radius: 9px;
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1rem; transition: all .2s ease; }
.tn-sf-social a:hover { background: var(--tech-primary); border-color: var(--tech-primary); transform: translateY(-2px); }
.tn-sf-col-title { font-size: 1.5rem; font-weight: 800; color: #fff; margin-bottom: 1.5rem; }
.tn-sf-links { list-style: none; padding: 0; margin: 0; }
.tn-sf-links li { display: flex; align-items: center; gap: .6rem; margin-bottom: .95rem; }
.tn-sf-links li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--tech-primary); flex: 0 0 auto; }
.tn-sf-links a { color: #b9bee0; font-size: .98rem; transition: color .2s ease, padding-left .2s ease; }
.tn-sf-links a:hover { color: #fff; padding-left: 3px; }
.tn-sf-custom { color: #a6abd0; font-size: .9rem; padding-bottom: 1rem; }
/* Bottom bar */
.tn-sf-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem;
  padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.10); color: #a6abd0; font-size: .95rem; }
.tn-sf-bottom strong { color: #fff; }
.tn-sf-gotop { display: inline-flex; align-items: center; gap: .5rem; color: #c7cbe6; font-weight: 600; font-size: .95rem; }
.tn-sf-gotop:hover { color: var(--tech-primary); }
@media (max-width: 767.98px){
  .tn-sf-bottom { justify-content: center; text-align: center; }
  .tn-sf-card-title { font-size: 1.25rem; }
}

/* ============================================================
   Digitics-style light gradient footer
   ============================================================ */
.tn-df { background: linear-gradient(105deg, #cfe0ff 0%, #eef1fb 42%, #ece0fb 100%); padding: 3.5rem 0 1.5rem; color: var(--tech-gray-700); }
.tn-df a { text-decoration: none; }
/* Top bar */
.tn-df-top { display: flex; flex-wrap: wrap; align-items: center; gap: 2.5rem; padding-bottom: 2.2rem; margin-bottom: 2.4rem; border-bottom: 1px solid rgba(16,26,75,.12); }
.tn-df-brandcol { flex: 1 1 240px; }
.tn-df-brand { display: inline-flex; align-items: center; gap: .65rem; margin-bottom: 1rem; }
.tn-df-brand img { height: 46px; width: auto; }
.tn-df-brand span { font-size: 1.9rem; font-weight: 800; color: var(--tech-gray-900); }
.tn-df-social { display: flex; gap: 1.3rem; }
.tn-df-social a { color: var(--tech-gray-800); font-size: 1.05rem; transition: color .2s ease, transform .2s ease; }
.tn-df-social a:hover { color: var(--tech-primary); transform: translateY(-2px); }
.tn-df-top-item { flex: 0 1 auto; display: flex; align-items: center; gap: 1rem; padding-left: 2.5rem; border-left: 1px solid rgba(16,26,75,.12); }
.tn-df-top-ico { width: 56px; height: 56px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  background: rgba(var(--tech-primary-rgb),.10); color: var(--tech-primary); font-size: 1.3rem; }
.tn-df-top-label { display: block; font-size: .92rem; color: var(--tech-gray-600); margin-bottom: .1rem; }
.tn-df-top-value { display: block; font-size: 1.25rem; font-weight: 800; color: var(--tech-gray-900); }
.tn-df-top-value:hover { color: var(--tech-primary); }
/* Columns */
.tn-df-cols { padding: 1rem 0 2.5rem; }
.tn-df-title { position: relative; font-size: 1.35rem; font-weight: 800; color: var(--tech-gray-900); margin-bottom: 1.6rem; padding-bottom: .7rem; }
.tn-df-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 55px; height: 3px; background: var(--tech-primary); border-radius: 3px; }
.tn-df-about { font-size: .96rem; line-height: 1.8; color: var(--tech-gray-600); margin-bottom: 1.6rem; }
.tn-df-contact-btn { display: inline-flex; align-items: center; gap: .5rem; border: 1.5px solid var(--tech-primary); color: var(--tech-primary) !important;
  font-weight: 700; padding: .7rem 1.5rem; border-radius: 999px; transition: all .2s ease; }
.tn-df-contact-btn:hover { background: var(--tech-primary); color: #fff !important; transform: translateY(-2px); }
.tn-df-links { list-style: none; padding: 0; margin: 0; }
.tn-df-links li { margin-bottom: 1rem; }
.tn-df-links > li > a { display: inline-flex; align-items: center; gap: .6rem; color: var(--tech-gray-700); font-size: .98rem; transition: color .2s ease, transform .2s ease; }
.tn-df-links > li > a > i { font-size: .82rem; color: var(--tech-primary); }
.tn-df-links > li > a:hover { color: var(--tech-primary); transform: translateX(3px); }
.tn-df-info li { display: flex; align-items: flex-start; gap: .6rem; font-size: .95rem; color: var(--tech-gray-600); }
.tn-df-info li i { color: var(--tech-primary); margin-top: .2rem; }
/* Newsletter */
.tn-df-news { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: 1.4rem;
  background: #fff; border: 1px solid rgba(16,26,75,.10); border-radius: 8px; padding: .3rem .3rem .3rem 1rem; box-shadow: 0 6px 18px rgba(16,26,75,.06); }
.tn-df-news > span:first-child { color: #6b7280; font-size: .92rem; font-weight: 600; }
.tn-df-news-btn { flex: 0 0 auto; width: 44px; height: 40px; border-radius: 6px; background: var(--tech-primary); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 1.05rem; transition: background .2s ease; }
.tn-df-news:hover .tn-df-news-btn { background: #10256b; }
.tn-df-agree { display: flex; align-items: center; gap: .55rem; margin-top: .9rem; font-size: .88rem; color: var(--tech-gray-600); }
.tn-df-check { width: 16px; height: 16px; border: 1.5px solid var(--tech-gray-400,#9aa3af); border-radius: 3px; flex: 0 0 auto; }
.tn-df-custom { color: var(--tech-gray-600); font-size: .9rem; padding-bottom: 1rem; }
/* Bottom */
.tn-df-bottom { text-align: center; padding-top: 1.6rem; border-top: 1px solid rgba(16,26,75,.12); color: var(--tech-gray-600); font-size: .95rem; }
.tn-df-bottom strong { color: var(--tech-gray-900); }
@media (max-width: 991.98px){
  .tn-df-top-item { padding-left: 0; border-left: none; }
  .tn-df-top { gap: 1.6rem; }
}

/* ============================================================
   Tekni-style dark blue gradient footer
   ============================================================ */
.tn-tk { position: relative; color: #b9c0e6;
  background: radial-gradient(900px 500px at 12% 25%, #2b34a3 0%, rgba(43,52,163,0) 55%),
              linear-gradient(115deg, #1a237e 0%, #131c5e 45%, #0b1244 100%); }
.tn-tk a { text-decoration: none; }
.tn-tk-cols { padding: 4.5rem 0 3.5rem; }
.tn-tk-brand { display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 1.3rem; }
.tn-tk-brand img { height: 48px; width: auto; }
.tn-tk-brand span { font-size: 2rem; font-weight: 800; color: #fff; }
.tn-tk-desc { font-size: .96rem; line-height: 1.85; color: #aab1dd; max-width: 340px; margin-bottom: 1.6rem; }
.tn-tk-social { display: flex; gap: .8rem; }
.tn-tk-social a { width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.07);
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.05rem; transition: all .25s ease; }
.tn-tk-social a:hover { background: var(--tech-primary); transform: translateY(-3px); box-shadow: 0 8px 18px rgba(var(--tech-primary-rgb),.4); }
.tn-tk-title { color: #fff; font-size: 1.5rem; font-weight: 800; margin-bottom: 1.6rem; }
.tn-tk-links { list-style: none; padding: 0; margin: 0; }
.tn-tk-links li { margin-bottom: 1rem; }
.tn-tk-links a { color: #aab1dd; font-size: 1rem; transition: color .2s ease, padding-left .2s ease; }
.tn-tk-links a:hover { color: #fff; padding-left: 4px; }
/* Get in touch */
.tn-tk-git { list-style: none; padding: 0; margin: 0; }
.tn-tk-git li { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.4rem; }
.tn-tk-git-ico { flex: 0 0 auto; width: 50px; height: 50px; border-radius: 50%; background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center; font-size: 1.15rem; }
.tn-tk-git-ico i { background: linear-gradient(135deg, #ff9d3c, #f5416c); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.tn-tk-git-txt { font-size: .97rem; line-height: 1.6; color: #c1c7ea; padding-top: .35rem; }
.tn-tk-git-txt a { color: #c1c7ea; }
.tn-tk-git-txt a:hover { color: #fff; }
.tn-tk-custom { color: #aab1dd; font-size: .9rem; padding-bottom: 1.5rem; }
/* Bottom bar */
.tn-tk-bottom { background: rgba(0,0,0,.22); padding: 1.15rem 0; border-top: 1px solid rgba(255,255,255,.08); }
.tn-tk-bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; color: #aab1dd; font-size: .93rem; }
.tn-tk-bottom-inner strong { color: #fff; font-weight: 700; }
.tn-tk-bottom-links { display: flex; gap: 1.8rem; }
.tn-tk-bottom-links a { color: #c1c7ea; font-size: .93rem; }
.tn-tk-bottom-links a:hover { color: #fff; }
@media (max-width: 767.98px){
  .tn-tk-cols { padding: 3.5rem 0 2.5rem; }
  .tn-tk-bottom-inner { justify-content: center; text-align: center; }
}

/* ============================================================
   Work-Process style archive (hero + numbered cards)
   ============================================================ */
.tn-wp-hero { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; gap: 2rem;
  background: linear-gradient(105deg, #3b46e0 0%, #7b2ff7 44%, #1c2470 53%, #111845 100%);
  border-radius: 20px; padding: 2.8rem 3rem; margin-bottom: 2.5rem; box-shadow: 0 18px 45px rgba(59,70,224,.22); }
.tn-wp-hero::before { content: ""; position: absolute; top: -120px; left: -120px; width: 320px; height: 320px;
  border-radius: 50%; border: 60px solid rgba(255,255,255,.06); pointer-events: none; }
.tn-wp-hero-left { position: relative; flex: 1 1 340px; min-width: 260px; }
.tn-wp-hero-right { position: relative; flex: 1 1 340px; min-width: 260px; }
.tn-wp-badge { display: inline-block; border: 1px solid rgba(255,255,255,.4); color: #fff; font-weight: 700;
  font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; padding: .5rem 1.1rem; border-radius: 8px; margin-bottom: 1.1rem; }
.tn-wp-title { color: #fff; font-size: 2.6rem; font-weight: 800; line-height: 1.1; margin: 0; }
.tn-wp-hero-right p { color: #eef1ff; font-size: 1.02rem; font-weight: 500; line-height: 1.8; margin: 0;
  text-shadow: 0 1px 6px rgba(0,0,0,.35); }
.tn-wp-hero-right strong { color: #fff; font-weight: 800; }
/* Cards */
.tn-wp-card { position: relative; background: #fff; border-radius: 14px; padding: 2.9rem 1.6rem 1.6rem;
  height: 100%; display: flex; flex-direction: column; box-shadow: 0 16px 40px rgba(16,26,75,.10);
  transition: transform .25s ease, box-shadow .25s ease; }
.tn-wp-card:hover { transform: translateY(-5px); box-shadow: 0 24px 50px rgba(59,70,224,.20); }
.tn-wp-num { position: absolute; top: 0; left: 1.6rem; width: 62px; height: 52px; border-radius: 0 0 16px 16px;
  background: linear-gradient(135deg, #3b46e0, #7b2ff7); color: #fff; font-weight: 800; font-size: 1.2rem;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 18px rgba(123,47,247,.30); }
.tn-wp-card-title { font-size: 1.2rem; font-weight: 800; line-height: 1.3; margin: 0 0 .5rem; }
.tn-wp-card-title a { color: var(--tech-gray-900); text-decoration: none; }
.tn-wp-card-title a:hover { color: var(--tech-primary); }
.tn-wp-card-meta { font-size: .82rem; font-weight: 600; color: var(--tech-primary); margin-bottom: .7rem; display: inline-flex; align-items: center; gap: .4rem; }
.tn-wp-card-desc { font-size: .92rem; line-height: 1.7; color: var(--tech-gray-600); margin: 0 0 1.4rem; }
.tn-wp-card-foot { margin-top: auto; display: flex; align-items: center; gap: .9rem; }
.tn-wp-card-date { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; font-weight: 600; color: var(--tech-gray-700); }
.tn-wp-card-date i { color: var(--tech-primary); }
.tn-wp-card-ico { width: 66px; height: 66px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  overflow: hidden; background: rgba(var(--tech-primary-rgb),.08); text-decoration: none; transition: background .2s ease, transform .2s ease; }
.tn-wp-card-ico img { width: 100%; height: 100%; object-fit: cover; }
.tn-wp-card-ico i { font-size: 1.9rem; background: linear-gradient(135deg, #3b46e0, #7b2ff7);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.tn-wp-card:hover .tn-wp-card-ico { transform: scale(1.05); }
@media (max-width: 767.98px){
  .tn-wp-hero { padding: 2rem 1.6rem; }
  .tn-wp-title { font-size: 2rem; }
}

/* ===== springer theme CSS (own rules; override the embedded structure above) ===== */
/* =========================================================================
   Springer Nature Link Theme for OJS 3.3
   Masthead: dark teal gradient · Links/buttons: blue #025e8d · Footer: navy #01324b
   Headings: Source Serif 4 · Body: Libre Franklin. Scoped under body.springer.
   Content pages reuse TechNova's structure; its --tech-* tokens are re-mapped.
   (Legacy --spr-orange holds the teal masthead colour; --spr-blue holds the link blue.)
   ========================================================================= */

/* ---------- Design tokens ---------- */
:root {
	--spr-orange: #0c5449;        /* masthead teal / accents */
	--spr-orange-rgb: 12, 84, 73;
	--spr-orange-dark: #083b34;
	--spr-teal-hero: linear-gradient(120deg, #063d37 0%, #0c5449 55%, #12695c 120%);
	--spr-blue: #025e8d;          /* links + primary accents (Springer blue) */
	--spr-blue-rgb: 2, 94, 141;
	--spr-blue-dark: #01476b;
	--spr-navy: #01324b;          /* dark corporate footer */
	--spr-ink: #222222;
	--spr-body: #333333;
	--spr-muted: #6a7178;
	--spr-peach: #e8f1f6;         /* soft blue tint */
	--spr-grey: #f0f3f5;
	--spr-border: #d5dce0;
	--spr-radius: 4px;
	--spr-shadow: 0 6px 24px rgba(1, 50, 75, .10);
	--spr-font: 'Libre Franklin', system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--spr-head-font: 'Source Serif 4', Georgia, 'Times New Roman', serif;
}

/* Re-map TechNova structural tokens to the Springer palette */
body.springer {
	--tech-font: var(--spr-font);
	--tech-font-mono: var(--spr-font);
	--tech-primary: #025e8d;
	--tech-primary-hover: #01476b;
	--tech-primary-light: #3a8ab5;
	--tech-primary-rgb: 2, 94, 141;
	--tech-accent: #0c5449;
	--tech-accent-rgb: 12, 84, 73;
	--tech-cyan: #025e8d;
	--tech-navy-dark: #01324b;
	--tech-navy-mid: #063d37;
	--tech-navy-surface: #0c5449;
	--tech-navy-card: #12695c;
	--tech-gradient: linear-gradient(135deg, #0c5449 0%, #01324b 130%);
	--tech-gradient-dark: linear-gradient(135deg, #01324b 0%, #063d37 100%);
	--tech-gradient-hero: linear-gradient(120deg, #063d37 0%, #0c5449 55%, #12695c 120%);
	--tech-subtle: #e8f1f6;
	--tech-subtle-blue: #e8f1f6;
	--tech-bg: #ffffff;
	--tech-gray-900: #222222;
	--tech-gray-800: #33332b;
	--tech-gray-700: #333333;
	--tech-gray-600: #6a7178;
	--tech-radius-sm: 4px;
	--tech-radius: 4px;
	--tech-radius-lg: 6px;
	--tech-radius-xl: 10px;
}

/* Springer serif headings */
.springer h1, .springer h2, .springer h3, .springer h4, .springer h5, .springer h6,
.springer .spr-band-title, .springer .spr-jh-about-h, .springer .spr-art-title,
.springer .spr-issue-title, .springer .spr-row-title, .springer .spr-toc-title,
.springer .spr-art-h, .springer .spr-jh-h, .springer .spr-arch-heading,
.springer .tech-detail-header-title, .springer .tech-article-title { font-family: var(--spr-head-font) !important; }

/* ---------- Base ---------- */
body.springer { font-family: var(--spr-font); color: var(--spr-body); background: #fff; font-size: 15px; line-height: 1.65; }
.springer h1, .springer h2, .springer h3, .springer h4, .springer h5, .springer h6,
.springer .tech-col-title, .springer .tech-article-title { font-family: var(--spr-font); color: var(--spr-ink); font-weight: 600; line-height: 1.25; }
body.springer a { color: var(--spr-blue); text-decoration: none; }
body.springer a:hover { color: var(--spr-blue-dark); text-decoration: none; }
.springer .pkp_structure_content a { text-decoration: none; }
.springer .pkp_structure_content a:hover { text-decoration: none; }
.spr-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.springer .spr-h2 { font-size: 30px; font-weight: 300; color: var(--spr-ink); margin: 0 0 1.2rem; letter-spacing: -.01em; }
@media (max-width: 767px) { .springer .spr-h2 { font-size: 24px; } }

/* ---------- Buttons ---------- */
.springer .spr-btn-outline {
	display: inline-flex; align-items: center; gap: .5rem; background: #fff; border: 1px solid var(--spr-blue);
	color: var(--spr-blue) !important; font-weight: 500; font-size: .95rem; padding: .6rem 1.3rem; border-radius: var(--spr-radius);
	transition: background .15s ease, color .15s ease; text-decoration: none !important;
}
.springer .spr-btn-outline:hover { background: var(--spr-blue); color: #fff !important; }
.springer .spr-btn-white {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem; background: var(--spr-blue); color: #fff !important;
	font-weight: 500; font-size: .95rem; padding: .6rem 1.3rem; border-radius: var(--spr-radius); text-decoration: none !important; min-width: 44px;
}
.springer .spr-btn-white:hover { background: var(--spr-blue-dark); color: #fff !important; }
.springer .spr-btn-link { color: var(--spr-blue) !important; font-weight: 500; display: inline-flex; align-items: center; gap: .35rem; text-decoration: none !important; }
.springer .spr-btn-link:hover { text-decoration: none !important; }
.springer .spr-btn-link-lg { font-size: 1.02rem; margin-top: .5rem; }

/* ---------- Utility strip (top) ---------- */
.springer .spr-utility { background: #fff; border-bottom: 1px solid var(--spr-border); font-size: .86rem; padding: .5rem 0; }
.springer .spr-utility-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.springer .spr-utility-brand { color: var(--spr-ink); font-weight: 700; display: inline-flex; align-items: center; gap: .45rem; }
.springer .spr-utility-brand:hover { text-decoration: none; color: var(--spr-blue); }
.springer .spr-utility-right { display: flex; align-items: center; gap: 1.4rem; }
.springer .spr-utility-right a { color: var(--spr-ink); display: inline-flex; align-items: center; gap: .35rem; }
.springer .spr-utility-right a:hover { color: var(--spr-blue); text-decoration: none; }

/* ---------- Orange masthead ---------- */
.springer .spr-masthead { background: var(--spr-orange); color: #fff; padding: 2rem 0; }
.springer .spr-masthead-inner { display: flex; align-items: center; gap: 1.8rem; }
.springer .spr-masthead-cover { flex: 0 0 auto; }
.springer .spr-masthead-cover img { width: 96px; height: auto; max-height: 128px; border-radius: 3px; box-shadow: 0 6px 18px rgba(0,0,0,.22); background: #fff; }
.springer .spr-cover-fallback { width: 96px; height: 128px; border-radius: 3px; background: rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 2.4rem; }
.springer .spr-cover-fallback:hover { text-decoration: none; }
.springer .spr-masthead-id { flex: 1 1 auto; min-width: 0; }
.springer .spr-journal-title { margin: 0; font-size: 2.5rem; font-weight: 300; line-height: 1.1; letter-spacing: -.01em; }
.springer .spr-journal-title a { color: #fff !important; }
.springer .spr-journal-title a:hover { text-decoration: none; color: #fff !important; }
.springer .spr-journal-sub { margin: .5rem 0 0; font-size: 1rem; color: rgba(255,255,255,.92); }
.springer .spr-masthead-metrics { flex: 0 0 auto; display: flex; align-items: center; gap: 0; }
.springer .spr-metric { padding: 0 1.6rem; text-align: left; border-left: 1px solid rgba(255,255,255,.4); }
.springer .spr-metric:first-child { border-left: 0; }
.springer .spr-metric-num { display: block; font-size: 1.5rem; font-weight: 300; color: #fff; line-height: 1.1; }
.springer .spr-metric-label { display: block; font-size: .82rem; color: rgba(255,255,255,.92); margin-top: .2rem; }
@media (max-width: 991px) {
	.springer .spr-masthead-inner { flex-wrap: wrap; }
	.springer .spr-journal-title { font-size: 1.9rem; }
	.springer .spr-masthead-metrics { width: 100%; margin-top: .5rem; }
	.springer .spr-metric:first-child { padding-left: 0; }
}

/* ---------- White utility nav ---------- */
.springer .spr-nav { background: #fff; border-bottom: 1px solid var(--spr-border); position: sticky; top: 0; z-index: 1030; transition: box-shadow .2s ease; }
.springer .spr-nav.is-stuck { box-shadow: 0 4px 16px rgba(20,55,95,.10); }
.springer .spr-nav-inner { align-items: stretch; }
.springer .spr-nav-collapse { display: flex; align-items: center; gap: 1rem; }
.springer .spr-menu { gap: 0; align-items: stretch; margin: 0; }
.springer .spr-menu > li { position: relative; display: flex; align-items: stretch; }
.springer .spr-menu > li > a { display: flex; align-items: center; padding: .95rem 1rem; font-weight: 500; font-size: .95rem; color: var(--spr-ink); border-bottom: 3px solid transparent; }
.springer .spr-menu > li > a:hover, .springer .spr-menu > li.current > a { color: var(--spr-blue); border-bottom-color: var(--spr-blue); text-decoration: none; background: #fbfbf8; }
.springer .spr-menu li ul { list-style: none; margin: 0; padding: .4rem; position: absolute; top: 100%; left: 0; min-width: 230px; background: #fff; border: 1px solid var(--spr-border); border-radius: 6px; box-shadow: var(--spr-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .18s ease; z-index: 100; }
.springer .spr-menu li:hover > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.springer .spr-menu li ul li { display: block; }
.springer .spr-menu li ul li a { display: block; padding: .5rem .7rem; border-radius: 4px; color: var(--spr-ink); font-weight: 400; font-size: .9rem; }
.springer .spr-menu li ul li a:hover { background: rgba(var(--spr-blue-rgb), .07); color: var(--spr-blue); text-decoration: none; }
@media (min-width: 992px) { .springer .spr-menu li ul { display: block; } }

/* Search box */
.springer .spr-search { display: flex; align-items: center; margin-left: auto; border: 1px solid var(--spr-border); border-radius: var(--spr-radius); overflow: hidden; height: 40px; max-width: 320px; flex: 1 1 220px; }
.springer .spr-search input { border: 0; outline: none; padding: 0 .8rem; font-size: .9rem; flex: 1 1 auto; min-width: 0; color: var(--spr-ink); background: #fff; }
.springer .spr-search button { border: 0; background: var(--spr-blue); color: #fff; width: 44px; height: 100%; flex: 0 0 auto; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.springer .spr-search button:hover { background: var(--spr-blue-dark); }

/* nav CTA */
.springer .spr-nav-cta { display: flex; align-items: center; gap: 1rem; flex: 0 0 auto; }
@media (max-width: 991.98px) {
	.springer .spr-nav-collapse { flex-direction: column; align-items: stretch; gap: .75rem; padding: 1rem 0; }
	.springer .spr-menu { flex-direction: column; }
	.springer .spr-menu > li > a { border-bottom: 0; padding: .6rem .2rem; }
	.springer .spr-menu li ul { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding-left: 1rem; }
	.springer .spr-search { max-width: none; margin-left: 0; }
	.springer .spr-nav-cta { flex-wrap: wrap; }
}

/* =========================================================================
   Content structure (reused pages: about/issue/article/archive)
   ========================================================================= */
.springer .pkp_structure_content { width: 100% !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important; float: none !important; display: block !important; }
.springer .pkp_structure_main { padding: 2.5rem 0; }
.springer .pkp_structure_main > .page, .springer .pkp_structure_main > .container { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.springer .pkp_structure_content:has(> .pkp_structure_sidebar) { display: flex !important; gap: 45px; align-items: flex-start; max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; }
.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main { flex: 1 1 auto; min-width: 0; width: auto !important; padding: 2.5rem 0; }
.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main > .page,
.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main > .container { max-width: none !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_sidebar { flex: 0 0 320px; width: 320px; float: none !important; padding: 2.5rem 0; }
@media (max-width: 991.98px) {
	.springer .pkp_structure_content:has(> .pkp_structure_sidebar) { flex-wrap: wrap; }
	.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_sidebar { flex-basis: 100%; width: 100%; padding-top: 0; }
}

/* Content typography & elements */
.springer .pkp_structure_main { font-family: var(--spr-font); color: var(--spr-body); }
.springer .pkp_structure_main > .page > h1, .springer .pkp_structure_main > .container > h1 { font-size: 2.1rem; font-weight: 300; color: var(--spr-ink); margin: 0 0 1.5rem; }
.springer .pkp_structure_main a { color: var(--spr-blue); }
.springer .pkp_structure_main .pkp_button, .springer .pkp_structure_main input[type="submit"],
.springer .pkp_structure_main .obj_galley_link { background: var(--spr-blue) !important; border: 0 !important; color: #fff !important; font-weight: 500; border-radius: var(--spr-radius) !important; padding: .55rem 1.1rem !important; text-decoration: none; }
.springer .pkp_structure_main .pkp_button:hover, .springer .pkp_structure_main .obj_galley_link:hover { background: var(--spr-blue-dark) !important; color: #fff !important; }
.springer .pkp_structure_main input[type="text"], .springer .pkp_structure_main input[type="email"],
.springer .pkp_structure_main input[type="password"], .springer .pkp_structure_main select, .springer .pkp_structure_main textarea {
	border: 1px solid var(--spr-border); border-radius: var(--spr-radius); padding: .55rem .85rem; font-family: var(--spr-font); background: #fff; color: var(--spr-ink); }
.springer .pkp_structure_main input:focus, .springer .pkp_structure_main select:focus, .springer .pkp_structure_main textarea:focus { outline: none; border-color: var(--spr-blue); box-shadow: 0 0 0 3px rgba(var(--spr-blue-rgb), .14); }
.springer .cmp_pagination { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; justify-content: center; margin-top: 2rem; }
.springer .cmp_pagination a, .springer .cmp_pagination .current { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 .6rem; border-radius: var(--spr-radius); border: 1px solid var(--spr-border); color: var(--spr-ink); font-weight: 500; text-decoration: none; }
.springer .cmp_pagination a:hover { background: rgba(var(--spr-blue-rgb), .07); border-color: var(--spr-blue); color: var(--spr-blue); }
.springer .cmp_pagination .current { background: var(--spr-blue); border-color: var(--spr-blue); color: #fff; }

/* ---------- Sidebar widgets ---------- */
.springer .spr-sidebar-blocks .pkp_block { margin-bottom: 2.2rem; }
.springer .spr-sidebar-blocks .pkp_block .title { font-family: var(--spr-font); font-size: 1.2rem; font-weight: 600; color: var(--spr-ink); position: relative; padding-bottom: .6rem; margin: 0 0 1.1rem; border-bottom: 2px solid var(--spr-orange); }
.springer .spr-sidebar-blocks .pkp_block ul { list-style: none; margin: 0; padding: 0; }
.springer .spr-sidebar-blocks .pkp_block li { margin-bottom: .6rem; }
.springer .spr-sidebar-blocks .pkp_block a { color: var(--spr-blue); font-weight: 400; }
.springer .spr-sidebar-blocks .block_search { position: relative; }
.springer .spr-sidebar-blocks .block_search input[type="text"] { width: 100%; height: 48px; border: 1px solid var(--spr-border); border-radius: var(--spr-radius); padding: 6px 52px 6px 14px; font-size: .95rem; background: #fff; color: var(--spr-ink); }
.springer .spr-sidebar-blocks .block_search input[type="submit"], .springer .spr-sidebar-blocks .block_search button { position: absolute; right: 5px; top: 5px; height: 38px; width: 42px; border: 0; border-radius: var(--spr-radius); background: var(--spr-blue); color: #fff; font-size: 0; cursor: pointer; }
.springer .spr-sidebar-blocks .block_search button::before { content: "\F52A"; font-family: "bootstrap-icons"; font-size: 1.05rem; }

/* =========================================================================
   Homepage sections
   ========================================================================= */
/* About */
.springer .spr-about { padding: 3rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-about-body { color: var(--spr-body); line-height: 1.75; }
.springer .spr-about-body p { margin-bottom: 1rem; }
.springer .spr-panel { background: var(--spr-grey); border-radius: 8px; padding: 1.8rem; }
.springer .spr-panel-title { font-size: 1.2rem; font-weight: 600; margin: 0 0 1.2rem; color: var(--spr-ink); }
.springer .spr-opt { padding: 1rem 0; border-top: 1px solid var(--spr-border); }
.springer .spr-opt:first-of-type { border-top: 0; padding-top: 0; }
.springer .spr-opt h4 { font-size: 1.02rem; margin: 0 0 .35rem; color: var(--spr-ink); }
.springer .spr-opt p { font-size: .92rem; color: var(--spr-body); margin: 0 0 .5rem; }

/* Metric tiles */
.springer .spr-tiles { padding: 2.2rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-tiles-grid { display: flex; flex-wrap: wrap; gap: 0; align-items: stretch; }
.springer .spr-tile { flex: 1 1 0; min-width: 140px; padding: .4rem 1.6rem; border-left: 1px solid var(--spr-border); }
.springer .spr-tile:first-child { border-left: 0; padding-left: 0; }
.springer .spr-tile-num { display: block; font-size: 1.6rem; font-weight: 300; color: var(--spr-ink); line-height: 1.1; }
.springer .spr-tile-cap { display: block; font-size: .85rem; color: var(--spr-muted); margin-top: .25rem; }
.springer a.spr-tile-link { display: flex; flex-direction: column; justify-content: center; color: var(--spr-blue) !important; text-decoration: none !important; }
.springer a.spr-tile-link span:first-child { font-size: 1.6rem; }
.springer a.spr-tile-link:hover .spr-tile-cap { text-decoration: none; }
@media (max-width: 767px) { .springer .spr-tiles-grid { flex-direction: column; } .springer .spr-tile { border-left: 0; border-top: 1px solid var(--spr-border); padding: .8rem 0; } .springer .spr-tile:first-child { border-top: 0; } }

/* Editors band (orange) */
.springer .spr-editors { background: var(--spr-orange); color: #fff; padding: 2.6rem 0; }
.springer .spr-editors-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.springer .spr-editors-head h2 { color: #fff !important; font-weight: 300; font-size: 1.9rem; margin: 0; }
.springer .spr-editors-note { color: rgba(255,255,255,.95); margin: 1rem 0 0; max-width: 780px; }
.springer .spr-editors .spr-btn-white { background: #fff; color: var(--spr-orange) !important; }
.springer .spr-editors .spr-btn-white:hover { background: rgba(255,255,255,.9); color: var(--spr-orange-dark) !important; }

/* Articles */
.springer .spr-articles { padding: 3rem 0; }
.springer .spr-articles-head { margin-bottom: 1.5rem; }
.springer .spr-tabs { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid var(--spr-border); margin-top: .5rem; }
.springer .spr-tab { padding: .7rem 1.1rem; font-weight: 500; font-size: .95rem; color: var(--spr-body); border-bottom: 3px solid transparent; cursor: pointer; text-decoration: none !important; }
.springer .spr-tab:hover { color: var(--spr-blue); }
.springer .spr-tab.is-active { color: var(--spr-ink); border-bottom-color: var(--spr-orange); }
.springer .spr-toc { margin-top: 1.5rem; }
.springer .spr-toc .obj_issue_toc > .heading { display: none; }
.springer .spr-articles-foot { margin-top: 1.5rem; }

/* Calls for papers (peach) */
.springer .spr-calls { background: var(--spr-peach); padding: 3rem 0; }
.springer .spr-call-card { background: #fff; border: 1px solid #cfe0e6; border-radius: 8px; padding: 1.6rem; height: 100%; }
.springer .spr-call-card h4 { font-size: 1.1rem; margin: 0 0 .5rem; color: var(--spr-ink); }
.springer .spr-call-card p { font-size: .93rem; color: var(--spr-body); margin: 0 0 .8rem; }

/* Blue CTA */
.springer .spr-cta { padding: 2.5rem 0; }
.springer .spr-cta-inner { background: #e8f1f6; border: 1px solid #cfe0e6; border-radius: 8px; padding: 2rem 2.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; }
.springer .spr-cta-text span { color: var(--spr-body); font-size: .95rem; }
.springer .spr-cta-text h2 { color: var(--spr-blue) !important; font-weight: 400; font-size: 1.7rem; margin: .3rem 0 0; }
.springer .spr-cta .spr-btn-white { width: 52px; height: 52px; border-radius: 50%; font-size: 1.3rem; }

/* Special issues */
.springer .spr-special { padding: 3rem 0 4rem; border-top: 1px solid var(--spr-border); }
.springer .spr-special-card { display: block; background: #fff; border: 1px solid var(--spr-border); border-radius: 8px; padding: 1.8rem; height: 100%; transition: box-shadow .2s ease, transform .2s ease; text-decoration: none !important; }
.springer .spr-special-card:hover { box-shadow: var(--spr-shadow); transform: translateY(-3px); }
.springer .spr-special-ico { width: 52px; height: 52px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; background: rgba(var(--spr-orange-rgb), .12); color: var(--spr-orange); margin-bottom: 1rem; }
.springer .spr-special-card h4 { font-size: 1.15rem; margin: 0 0 .4rem; color: var(--spr-ink); }
.springer .spr-special-card p { font-size: .92rem; color: var(--spr-body); margin: 0; }

/* =========================================================================
   Footer
   ========================================================================= */
.springer .spr-footer { color: var(--spr-body); background: #fff; border-top: 3px solid var(--spr-orange); }
.springer .spr-footer-cols { padding: 3rem 0 2rem; }
.springer .spr-foot-title { font-size: 1.05rem; font-weight: 700; color: var(--spr-ink); margin: 0 0 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-foot-links { list-style: none; padding: 0; margin: 0; }
.springer .spr-foot-links li { margin-bottom: .55rem; }
.springer .spr-foot-links a { color: var(--spr-blue); font-size: .93rem; }
.springer .spr-foot-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.6rem; border-top: 1px solid var(--spr-border); }
.springer .spr-foot-brand { display: inline-flex; align-items: center; gap: .7rem; }
.springer .spr-foot-brand:hover { text-decoration: none; }
.springer .spr-foot-brand img { height: 40px; width: auto; }
.springer .spr-foot-brand span { font-weight: 700; font-size: 1.15rem; color: var(--spr-ink); }
.springer .spr-foot-social { list-style: none; padding: 0; margin: 0; display: flex; gap: .8rem; }
.springer .spr-foot-social a { width: 38px; height: 38px; border-radius: 8px; background: var(--spr-grey); color: var(--spr-ink); display: flex; align-items: center; justify-content: center; transition: all .2s ease; }
.springer .spr-foot-social a:hover { background: var(--spr-orange); color: #fff; text-decoration: none; }
.springer .spr-foot-custom { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--spr-border); font-size: .88rem; color: var(--spr-muted); }
.springer .spr-footer-bar { background: var(--spr-navy); color: #cdd7e3; padding: 1.1rem 0; }
.springer .spr-footer-bar-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; font-size: .88rem; }
.springer .spr-footer-bar-inner strong { color: #fff; }
.springer .spr-footer-bar-links { list-style: none; padding: 0; margin: 0; display: flex; gap: 1.4rem; }
.springer .spr-footer-bar-links a { color: #cdd7e3; }
.springer .spr-footer-bar-links a:hover { color: #fff; }
@media (max-width: 767px) { .springer .spr-footer-bar-inner { justify-content: center; text-align: center; } }

/* Back to top */
.springer .spr-to-top { position: fixed; right: 22px; bottom: 22px; width: 46px; height: 46px; border-radius: 8px; background: var(--spr-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; box-shadow: 0 10px 24px rgba(var(--spr-blue-rgb), .35); z-index: 1040; opacity: 0; visibility: hidden; transform: translateY(12px); transition: all .25s ease; }
.springer .spr-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.springer .spr-to-top:hover { background: var(--spr-blue-dark); color: #fff; text-decoration: none; }

/* =========================================================================
   Article single view — full width, no card frame (matches SD reading view)
   ========================================================================= */
body.springer.pkp_page_article .pkp_structure_content,
body.springer.pkp_page_article .pkp_structure_main { max-width: 100% !important; width: 100% !important; }
body.springer.pkp_page_article .pkp_structure_main { border: 0 !important; box-shadow: none !important; }
body.springer.pkp_page_article .pkp_structure_content .pkp_structure_main > .page.page_article,
body.springer.pkp_page_article .pkp_structure_content .pkp_structure_main > .container.page {
	max-width: 100% !important; width: 100% !important; margin: 0 !important;
	padding-left: 40px !important; padding-right: 40px !important;
	border: 0 !important; box-shadow: none !important; border-radius: 0 !important; background: transparent !important;
}
@media (max-width: 767px){
	body.springer.pkp_page_article .pkp_structure_main > .container,
	body.springer.pkp_page_article .pkp_structure_main > .page { padding-left: 15px !important; padding-right: 15px !important; }
}

/* Static/about pages: light framed card */
body.springer .pkp_structure_content .pkp_structure_main > .page:not(.container):not(.technova-home),
body.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main > .page:not(.container):not(.technova-home) {
	background: #fff !important;
	border: 1px solid var(--spr-border) !important;
	border-top: 3px solid var(--spr-orange) !important;
	border-radius: 8px !important;
	box-shadow: var(--spr-shadow) !important;
	padding: 2rem 2.5rem !important;
}
@media (max-width: 767px){
	body.springer .pkp_structure_content .pkp_structure_main > .page:not(.container):not(.technova-home) { padding: 1.25rem !important; }
}

/* =========================================================================
   Journal custom sidebar menu (#a93317 buttons) → uniform blue buttons
   ========================================================================= */
.springer .spr-sidebar-blocks [style*="a93317"], .springer .spr-sidebar-blocks [style*="A93317"],
.springer .tech-sidebar-blocks [style*="a93317"], .springer .tech-sidebar-blocks [style*="A93317"],
.springer .pkp_structure_sidebar [style*="a93317"] {
	display: block !important; width: 100% !important; box-sizing: border-box !important;
	padding: 12px 15px !important; margin: 0 0 8px 0 !important; text-align: left !important;
	border: 0 !important; border-radius: var(--spr-radius) !important;
	background: var(--spr-blue) !important; background-color: var(--spr-blue) !important; background-image: none !important;
	color: #fff !important; font-family: var(--spr-font) !important; font-weight: 500 !important; font-size: .9rem !important; line-height: 1.3 !important;
	box-shadow: none !important; text-decoration: none !important;
}
.springer .spr-sidebar-blocks [style*="a93317"]:hover,
.springer .tech-sidebar-blocks [style*="a93317"]:hover,
.springer .pkp_structure_sidebar [style*="a93317"]:hover { background: var(--spr-blue-dark) !important; background-color: var(--spr-blue-dark) !important; }
.springer .spr-sidebar-blocks [style*="a93317"] a, .springer .spr-sidebar-blocks [style*="a93317"] strong,
.springer .tech-sidebar-blocks [style*="a93317"] a, .springer .tech-sidebar-blocks [style*="a93317"] strong { color: #fff !important; text-decoration: none !important; }
.springer [style*="d25458"] { background: var(--spr-orange) !important; background-color: var(--spr-orange) !important; color: #fff !important; }
/* neutralise technova ul/li so buttons are identical everywhere; gap from button margin only */
.springer .spr-sidebar-blocks ul, .springer .tech-sidebar-blocks ul, .springer .pkp_structure_sidebar ul { display: block !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.springer .spr-sidebar-blocks ul li, .springer .tech-sidebar-blocks ul li, .springer .pkp_structure_sidebar ul li,
.springer .block_custom li, .springer .block_custom li.show {
	border: 0 !important; border-left: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	padding: 0 !important; margin: 0 !important; background: transparent !important; height: auto !important; min-height: 0 !important; overflow: visible !important; transform: none !important;
}
.springer .block_custom, .springer .tech-sidebar-blocks .block_custom, .springer .spr-sidebar-blocks .block_custom { margin-bottom: 0 !important; }
.springer .block_custom p { margin: 0 !important; }
/* Make a Submission — orange CTA, same shape */
.springer .block_make_submission a {
	display: block !important; width: 100% !important; box-sizing: border-box !important;
	padding: 12px 15px !important; margin: 0 0 8px 0 !important; text-align: center !important;
	border: 0 !important; border-radius: var(--spr-radius) !important;
	font-family: var(--spr-font) !important; font-weight: 600 !important; font-size: .9rem !important;
	background: var(--spr-orange) !important; color: #fff !important; text-decoration: none !important;
}
.springer .block_make_submission a:hover { background: var(--spr-orange-dark) !important; color: #fff !important; }
/* Uniform sidebar-menu spacing on every journal: block wrappers carry NO
   margin; the 8px gap comes only from each button's own margin, so the
   Make-a-Submission button, the custom-menu buttons, and the gaps between
   blocks are all identical (8px) — no large gap around Make a Submission. */
.springer .spr-sidebar-blocks .block_make_submission,
.springer .tech-sidebar-blocks .block_make_submission,
.springer .pkp_structure_sidebar .block_make_submission,
.springer .spr-sidebar-blocks .block_custom,
.springer .tech-sidebar-blocks .block_custom,
.springer .pkp_structure_sidebar .block_custom { margin: 0 !important; padding: 0 !important; }
.springer .spr-sidebar-blocks .block_make_submission .content,
.springer .tech-sidebar-blocks .block_make_submission .content,
.springer .pkp_structure_sidebar .block_make_submission .content { margin: 0 !important; padding: 0 !important; }
.springer .spr-sidebar-blocks > .pkp_block:first-child,
.springer .tech-sidebar-blocks > .pkp_block:first-child { margin-top: 0 !important; }
/* Remove stray vertical divider line in the sidebar (seen under the web-feed
   "Current Issue" block) — kill left/right borders on the column + its content,
   keeping horizontal title underlines intact. */
.springer .pkp_structure_sidebar,
.springer .pkp_structure_sidebar *,
.springer .pkp_structure_sidebar *::before,
.springer .pkp_structure_sidebar *::after,
.springer .spr-sidebar-blocks,
.springer .spr-sidebar-blocks *,
.springer .spr-sidebar-blocks *::before,
.springer .spr-sidebar-blocks *::after { border-left: 0 !important; border-right: 0 !important; }
.springer .pkp_structure_sidebar .block_web_feed,
.springer .spr-sidebar-blocks .block_web_feed,
.springer .pkp_structure_sidebar .block_web_feed *,
.springer .spr-sidebar-blocks .block_web_feed * { border: 0 !important; box-shadow: none !important; }
/* Kill any pseudo-element vertical rule/background on the structural sidebar +
   content containers (exposed on journals whose sidebar is shorter than the
   main column, e.g. jinav). */
.springer .pkp_structure_content.has_sidebar::before,
.springer .pkp_structure_content.has_sidebar::after,
.springer .pkp_structure_content:has(> .pkp_structure_sidebar)::before,
.springer .pkp_structure_content:has(> .pkp_structure_sidebar)::after,
.springer .pkp_structure_sidebar::before,
.springer .pkp_structure_sidebar::after,
.springer .spr-sidebar-blocks::before,
.springer .spr-sidebar-blocks::after {
	content: none !important; display: none !important; background: none !important; border: 0 !important;
}
.springer .pkp_structure_content.has_sidebar,
.springer .pkp_structure_sidebar,
.springer .spr-sidebar-blocks { background-image: none !important; }

/* =========================================================================
   CONTENT PAGES — ScienceDirect refinement + colour audit
   Flatten TechNova's heavy blue-bordered / gradient / yellow "techy" cards
   into ScienceDirect's clean, minimal, white-on-light look. Every rule beats
   its technova.css counterpart via the extra .springer scope + !important.
   ========================================================================= */

/* ---- Article detail box: open, borderless, generous whitespace ---- */
.springer .tech-article-detail-box {
	background: #fff !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: none !important; padding: 0 !important; margin-bottom: 1.5rem !important;
}
.springer .tech-detail-header-title { font-weight: 400 !important; font-size: 2rem !important; color: var(--spr-ink) !important; letter-spacing: -.01em !important; }
@media (max-width: 767.98px) { .springer .tech-detail-header-title { font-size: 1.5rem !important; } }

/* Author boxes → light, flat */
.springer .tech-author-box { background: var(--spr-grey) !important; border: 1px solid var(--spr-border) !important; border-radius: 6px !important; box-shadow: none !important; }
.springer .tech-author-box:hover { background: #fff !important; border-color: var(--spr-blue) !important; box-shadow: none !important; transform: none !important; }
.springer .tech-author-avatar { background: rgba(var(--spr-blue-rgb), .1) !important; color: var(--spr-blue) !important; }

/* Abstract: plain, blue thin accent — no justify, SD reads left-aligned */
.springer .tech-abstract-card {
	background: #fafafa !important; border: 0 !important; border-left: 3px solid var(--spr-blue) !important;
	border-radius: 0 !important; color: var(--spr-body) !important; text-align: left !important;
	padding: 1.1rem 1.4rem !important;
}

/* Keywords → light chips, blue text (not filled pills) */
.springer .tech-keyword-tag {
	background: var(--spr-grey) !important; color: var(--spr-blue) !important; font-weight: 500 !important;
	border: 1px solid var(--spr-border) !important; border-radius: 4px !important;
}
.springer .tech-keyword-tag:hover { background: var(--spr-blue) !important; color: #fff !important; transform: none !important; }

/* DOI pill → light neutral */
.springer .tech-doi-pill { background: var(--spr-grey) !important; color: var(--spr-blue) !important; border: 1px solid var(--spr-border) !important; }
.springer .tech-doi-pill:hover { background: var(--spr-blue) !important; color: #fff !important; }

/* References block → clean */
.springer .tech-references-content { background: #fafafa !important; border: 1px solid var(--spr-border) !important; border-radius: 6px !important; color: var(--spr-body) !important; }

/* Galley / PDF buttons → solid blue (no gradient) */
.springer .btn-tech-pdf, .springer .obj_galley_link, .springer .pkp_structure_main .obj_galley_link {
	background: var(--spr-blue) !important; background-image: none !important; box-shadow: none !important;
	border-radius: 6px !important; font-weight: 500 !important; color: #fff !important;
}
.springer .btn-tech-pdf:hover, .springer .obj_galley_link:hover { background: var(--spr-blue-dark) !important; filter: none !important; transform: none !important; color: #fff !important; }

/* ---- Sidebar / citation cards → clean bordered boxes with plain headers ---- */
.springer .tech-sidebar-blocks .pkp_block,
.springer .tech-widget-card,
.springer .tech-sidebar-sticky .item.citation, .springer .item.citation {
	background: #fff !important; border: 1px solid var(--spr-border) !important; border-top: 3px solid var(--spr-orange) !important;
	border-radius: 8px !important; box-shadow: none !important; padding: 1.1rem 1.15rem !important;
	transition: none !important;
}
.springer .tech-sidebar-blocks .pkp_block:hover, .springer .tech-widget-card:hover { box-shadow: var(--spr-shadow) !important; transform: none !important; }
/* card header bar: white with dark text + bottom rule (kill blue gradient + yellow icons) */
.springer .tech-widget-card .tech-col-title,
.springer .tech-sidebar-blocks .title:not(.pkp_screen_reader),
.springer .tech-sidebar-blocks .pkp_block_title,
.springer .tech-sidebar-blocks h2:not(.pkp_screen_reader),
.springer .tech-sidebar-blocks h3:not(.pkp_screen_reader),
.springer .item.citation .sub_item.citation_display h2.label, .springer .item.citation h2.label {
	background: #fff !important; background-image: none !important; color: var(--spr-ink) !important;
	text-transform: none !important; letter-spacing: 0 !important; font-weight: 700 !important; font-size: 1rem !important;
	margin: -1.1rem -1.15rem .9rem -1.15rem !important; padding: .75rem 1.15rem !important;
	border-bottom: 1px solid var(--spr-border) !important; box-shadow: none !important;
}
.springer .tech-widget-card .tech-col-title i,
.springer .tech-sidebar-blocks .title:not(.pkp_screen_reader) i,
.springer .tech-sidebar-blocks .pkp_block_title i,
.springer .tech-sidebar-blocks h2:not(.pkp_screen_reader) i,
.springer .tech-sidebar-blocks h3:not(.pkp_screen_reader) i { color: var(--spr-orange) !important; }
/* citation format button + list → blue/neutral */
.springer .item.citation .citation_formats_button { background: var(--spr-grey) !important; color: var(--spr-blue) !important; border: 1px solid var(--spr-border) !important; border-radius: 6px !important; }
.springer .item.citation .citation_formats_button:hover { background: var(--spr-blue) !important; color: #fff !important; }
.springer .item.citation .citation_formats_styles li a:hover { background: var(--spr-blue) !important; color: #fff !important; }

/* ---- Issue TOC / archive listing → SD-clean ---- */
.springer .obj_issue_toc > .heading,
.springer .technova .obj_issue_toc > .heading,
.springer .technova .styled_section,
.springer .technova .obj_issue_toc .sections > .section:has(table),
.springer .technova .obj_issue_toc .styled_sections > .styled_section {
	background: #fff !important; border: 1px solid var(--spr-border) !important; border-left: 3px solid var(--spr-orange) !important;
	border-radius: 8px !important; box-shadow: none !important;
}
/* section titles: dark text, orange bottom rule (no blue fill) */
.springer .obj_issue_toc .sections .section > h2,
.springer .obj_issue_toc h2.title,
.springer .section_title,
.springer .technova .styled_section > .section_title,
.springer .technova .styled_section > h2:first-child,
.springer .technova .obj_issue_toc .sections > .section:has(table) > h2,
.springer .technova .obj_issue_toc .styled_section > h2:first-child {
	color: var(--spr-ink) !important; font-weight: 600 !important;
	border-bottom: 2px solid var(--spr-orange) !important;
}
/* article titles in listings → blue links */
.springer .article_item .title, .springer .obj_article_summary .title a, .springer .cmp_article_list .title a { color: var(--spr-blue) !important; font-weight: 500 !important; }
.springer .article_item .title:hover, .springer .obj_article_summary .title a:hover { color: var(--spr-blue-dark) !important; }
/* stats tables: header blue → keep readable */
.springer .cmp_article_list.articles table th, .springer .sections .section table th { background: var(--spr-blue) !important; color: #fff !important; }

/* ---- Global colour audit: neutralise any stray techy accents on content ---- */
.springer .pkp_structure_main [style*="87f8ab"] { background: transparent !important; background-color: transparent !important; }
.springer .pkp_structure_main em, .springer .pkp_structure_main i { color: inherit; }
/* the reused sidebar #a93317 menu icons were forced yellow by technova — make orange */
.springer .tech-sidebar-blocks [style*="a93317"] em, .springer .tech-sidebar-blocks [style*="a93317"] i,
.springer .pkp_structure_sidebar [style*="a93317"] em, .springer .pkp_structure_sidebar [style*="a93317"] i { color: #fff !important; }

/* =========================================================================
   ISSUE VIEW — ScienceDirect Volume TOC (gambar 1)
   Flatten the journal's card rows into clean SD list rows with thin dividers.
   ========================================================================= */
/* Issue header → open, borderless, light heading */
.springer .tech-issue-header-card {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--spr-border) !important;
	border-radius: 0 !important; box-shadow: none !important; margin-bottom: 1.25rem !important;
}
.springer .tech-issue-header-card .card-body { padding: 0 0 1.25rem !important; }
.springer .tech-issue-header-card h1 { font-weight: 400 !important; font-size: 1.9rem !important; color: var(--spr-ink) !important; }
.springer .tech-issue-header-card .badge.bg-primary { background: rgba(var(--spr-orange-rgb), .12) !important; color: var(--spr-orange) !important; }
.springer .tech-issue-header-card .badge.bg-primary i { color: var(--spr-orange) !important; }

/* Section wrapper → no card, plain */
.springer .obj_issue_toc .styled_sections .styled_section,
.springer .obj_issue_toc .sections .styled_section {
	background: transparent !important; border: 0 !important; border-left: 0 !important;
	border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin-bottom: 2rem !important;
}
.springer .obj_issue_toc .section_title,
.springer .obj_issue_toc .styled_section > h2:first-child {
	color: var(--spr-ink) !important; font-weight: 600 !important; font-size: 1.15rem !important;
	border-bottom: 2px solid var(--spr-orange) !important; padding-bottom: .5rem !important; margin: 0 0 .5rem !important;
}

/* Article rows → flat with divider */
.springer .obj_issue_toc ul.cmp_article_list { margin: 0 !important; padding: 0 !important; }
.springer .obj_issue_toc .article_item {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--spr-border) !important;
	border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 1rem 0 !important;
}
.springer .obj_issue_toc .article_item:last-child { border-bottom: 0 !important; }
.springer .obj_issue_toc .article_item:hover { transform: none !important; box-shadow: none !important; }
.springer .obj_issue_toc .tech-article-card {
	background: transparent !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: none !important; padding: 0 !important;
}
.springer .obj_issue_toc .tech-article-card:hover { transform: none !important; box-shadow: none !important; }
/* declutter: hide per-article cover + view/download badges (SD rows are text) */
.springer .obj_issue_toc .tech-article-cover-col { display: none !important; }
.springer .obj_issue_toc .tech-article-body-col .badge { display: none !important; }
/* section/type label → small grey */
.springer .obj_issue_toc .tech-article-category {
	background: transparent !important; color: var(--spr-muted) !important; border: 0 !important;
	padding: 0 !important; font-size: .8rem !important; font-weight: 600 !important; text-transform: none !important;
}
.springer .obj_issue_toc .tech-article-category i { color: var(--spr-orange) !important; }
/* title → blue link, medium weight */
.springer .obj_issue_toc .tech-article-title { margin: .15rem 0 .35rem !important; }
.springer .obj_issue_toc .tech-article-title a { color: var(--spr-blue) !important; font-weight: 500 !important; font-size: 1.05rem !important; line-height: 1.4 !important; }
.springer .obj_issue_toc .tech-article-title a:hover { color: var(--spr-blue-dark) !important; text-decoration: none !important; }
/* authors → grey small */
.springer .obj_issue_toc .tech-card-author-list { margin: 0 0 .35rem !important; font-size: .85rem !important; color: var(--spr-body) !important; }
.springer .obj_issue_toc .tech-author-ico { color: var(--spr-muted) !important; }
.springer .obj_issue_toc .tech-author-aff { color: var(--spr-muted) !important; }
/* bottom row: no top rule, tidy */
.springer .obj_issue_toc .tech-article-body-col .border-top { border-top: 0 !important; padding-top: 0 !important; margin-top: .15rem !important; }
/* PDF galley in the list → SD "View PDF" text link (red icon), not a filled button */
.springer .obj_issue_toc .btn-tech-pdf {
	background: transparent !important; background-image: none !important; color: var(--spr-blue) !important;
	box-shadow: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; font-weight: 600 !important;
}
.springer .obj_issue_toc .btn-tech-pdf:hover { color: var(--spr-blue-dark) !important; text-decoration: none !important; }
.springer .obj_issue_toc .btn-tech-pdf i { color: #d0432b !important; }

/* =========================================================================
   ALL ISSUES — ScienceDirect accordion (gambar 2)
   ========================================================================= */
.springer .spr-archive { padding: 2.5rem 0 3.5rem; }
.springer .spr-arch-heading { font-size: 2rem; font-weight: 300; color: var(--spr-ink); margin: 0 0 1rem; }
.springer .spr-arch-note { font-size: .95rem; color: var(--spr-body); }
.springer .spr-arch-note a { color: var(--spr-blue); }
.springer .spr-arch-list { border-top: 1px solid var(--spr-border); }
.springer .spr-arch-year { border-bottom: 1px solid var(--spr-border); }
.springer .spr-arch-year > summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
	padding: 1rem .25rem; font-size: 1.05rem; font-weight: 500; color: var(--spr-ink);
}
.springer .spr-arch-year > summary::-webkit-details-marker { display: none; }
.springer .spr-arch-year > summary:hover { color: var(--spr-blue); }
.springer .spr-arch-year > summary i { color: var(--spr-muted); transition: transform .2s ease; }
.springer .spr-arch-year[open] > summary i { transform: rotate(180deg); }
.springer .spr-arch-year-label { font-weight: 500; }
.springer .spr-arch-vols { padding: 0 .25rem 1.25rem; display: flex; flex-direction: column; gap: 1rem; }
.springer .spr-arch-vol { display: block; text-decoration: none !important; }
.springer .spr-arch-vol-t { display: block; color: var(--spr-blue); font-weight: 500; font-size: .98rem; }
.springer .spr-arch-vol:hover .spr-arch-vol-t { color: var(--spr-blue-dark); text-decoration: none; }
.springer .spr-arch-vol-d { display: block; color: var(--spr-muted); font-size: .85rem; font-style: italic; margin-top: .1rem; }
.springer .spr-arch-pager { margin-top: 1.5rem; }
.springer .spr-arch-about { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--spr-border); }
.springer .spr-arch-about-h { font-size: 1.4rem; font-weight: 300; color: var(--spr-ink); margin: .5rem 0; }
.springer .spr-arch-about p { font-size: .9rem; color: var(--spr-body); margin: .25rem 0; }
@media (max-width: 991px) { .springer .spr-arch-heading { font-size: 1.6rem; } }

/* =========================================================================
   ISSUE TOC — ScienceDirect Volume-TOC rows (gambar 2), theme-override markup
   ========================================================================= */
.springer .spr-toc { max-width: 100%; }
.springer .spr-toc-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0 .75rem; border-bottom: 1px solid var(--spr-border); margin-bottom: .5rem; }
.springer .spr-toc-bar-label { font-weight: 600; color: var(--spr-ink); font-size: 1.05rem; }
.springer .spr-toc-fullissue { display: flex; gap: .5rem; }
.springer .spr-toc-section { margin-bottom: 1.5rem; }
.springer .spr-toc-section-title {
	font-size: 1.02rem !important; font-weight: 600 !important; color: var(--spr-ink) !important;
	background: var(--spr-grey); border: 0 !important; border-radius: 4px; margin: 1.25rem 0 1rem !important;
	padding: .7rem 1rem !important;
}
/* Row */
.springer .spr-toc-item { display: flex; gap: .85rem; padding: 1.15rem .25rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-toc-item:last-child { border-bottom: 0; }
.springer .spr-toc-check { flex: 0 0 auto; color: #b9b9b0; font-size: 1.05rem; line-height: 1.4; padding-top: .15rem; }
.springer .spr-toc-main { flex: 1 1 auto; min-width: 0; }
.springer .spr-toc-flag { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .82rem; margin-bottom: .3rem; }
.springer .spr-toc-type { color: var(--spr-muted); font-weight: 500; }
.springer .spr-toc-sep { color: #c4c4bc; }
.springer .spr-toc-access { color: var(--spr-muted); font-weight: 500; }
.springer .spr-toc-access.is-open { color: #1a7a3c; }
.springer .spr-toc-access.is-open i { color: #1a7a3c; }
.springer .spr-toc-title { margin: 0 0 .3rem !important; font-size: 1.05rem !important; font-weight: 500 !important; line-height: 1.4 !important; }
.springer .spr-toc-title a { color: var(--spr-blue) !important; font-weight: 500 !important; }
.springer .spr-toc-title a:hover { color: var(--spr-blue-dark) !important; text-decoration: none !important; }
.springer .spr-toc-authors { font-size: .86rem; color: var(--spr-body); margin-bottom: .3rem; }
.springer .spr-toc-meta { display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: .8rem; color: var(--spr-muted); margin-bottom: .5rem; }
.springer .spr-toc-meta span { position: relative; }
.springer .spr-toc-meta span + span::before { content: "·"; position: absolute; left: -.55rem; color: #c4c4bc; }
.springer .spr-toc-links { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; }
.springer .spr-toc-pdf, .springer .spr-toc-preview { display: inline-flex; align-items: center; gap: .35rem; color: var(--spr-blue) !important; font-size: .86rem; font-weight: 600; text-decoration: none !important; }
.springer .spr-toc-pdf:hover, .springer .spr-toc-preview:hover { color: var(--spr-blue-dark) !important; text-decoration: none !important; }
.springer .spr-toc-pdf i { color: #d0432b !important; font-size: 1rem; }
.springer .spr-toc-preview { background: transparent; border: 0; cursor: pointer; font-family: inherit; padding: 0; }
.springer .spr-toc-preview i { font-size: .8rem; transition: transform .2s ease; }
.springer .spr-toc-preview.is-open i { transform: rotate(180deg); }
.springer .spr-toc-abslink i { font-size: .78rem; }
@media (max-width: 575px) { .springer .spr-toc-check { display: none; } }

/* Collapsible abstract preview (opened by the "Article preview" button) */
.springer .spr-toc-abstract {
	margin: .85rem 0 .25rem; padding: 1.1rem 1.25rem; background: #fafafa;
	border: 1px solid var(--spr-border); border-left: 3px solid var(--spr-blue); border-radius: 4px;
	font-size: .9rem; line-height: 1.7; color: var(--spr-body);
}
.springer .spr-toc-abstract h4 { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--spr-muted); margin: 0 0 .5rem; }
.springer .spr-toc-abstract p { margin: 0 0 .6rem; }
.springer .spr-toc-abstract p:last-of-type { margin-bottom: 0; }
.springer .spr-toc-abstract-more { display: inline-flex; align-items: center; gap: .35rem; margin-top: .75rem; color: var(--spr-blue); font-weight: 600; font-size: .86rem; }

/* Homepage TOC bar is redundant under the section's own "Articles" heading */
.springer.pkp_page_index .spr-toc-bar { display: none; }

/* Tabs — button reset + panels */
.springer .spr-tab { background: transparent; border: 0; font-family: inherit; cursor: pointer; }
.springer .spr-tabpanel { animation: elsFade .2s ease; }
.springer .spr-tab-loading { padding: 2.5rem 1rem; color: var(--spr-muted); font-size: .95rem; display: flex; align-items: center; gap: .5rem; justify-content: center; }
.springer .spr-tab-loading i { animation: elsSpin 1s linear infinite; }
@keyframes elsFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes elsSpin { to { transform: rotate(360deg); } }

/* Authors Statistics table (issue view) */
.springer .spr-stats { margin-top: 2.5rem; }
.springer .spr-stats-top { margin-top: 0; margin-bottom: 2rem; }
.springer .spr-stats-title { font-size: 1.15rem; font-weight: 600; color: var(--spr-ink); margin: 0 0 .75rem; padding-bottom: .5rem; border-bottom: 2px solid var(--spr-orange); }
.springer .spr-stats-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.springer .spr-stats-table th { background: var(--spr-blue); color: #fff; text-align: left; font-weight: 600; padding: .6rem .85rem; }
.springer .spr-stats-table th:last-child { text-align: center; width: 120px; }
.springer .spr-stats-table td { border-bottom: 1px solid var(--spr-border); padding: .55rem .85rem; color: var(--spr-body); }
.springer .spr-stats-table td:last-child { text-align: center; font-weight: 600; color: var(--spr-ink); }
.springer .spr-stats-table tr:hover td { background: #fafafa; }

/* Archive: issue description under each volume */
.springer .spr-arch-vol-desc { margin-top: .4rem; font-size: .88rem; line-height: 1.6; color: var(--spr-body); }
.springer .spr-arch-vol-desc p { margin: 0 0 .4rem; }
.springer .spr-arch-vol-desc p:last-child { margin-bottom: 0; }

/* =========================================================================
   STATIC / ABOUT PAGES — ScienceDirect open content (gambar 1)
   Remove the framed card; render clean open long-form content with the
   journal menu acting as the left section nav.
   ========================================================================= */
body.springer .pkp_structure_content .pkp_structure_main > .page:not(.container):not(.technova-home):not(.page_article),
body.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main > .page:not(.container):not(.technova-home):not(.page_article) {
	background: transparent !important; border: 0 !important; border-top: 0 !important;
	border-radius: 0 !important; box-shadow: none !important; padding: 0 !important;
}
.springer .pkp_structure_main > .page:not(.container) > h1,
.springer .pkp_structure_main > .page:not(.container) .page_title { font-weight: 300 !important; font-size: 2.1rem !important; color: var(--spr-ink) !important; margin: .5rem 0 2.25rem !important; }
.springer .pkp_structure_main > .page:not(.container) > h1::after { display: none !important; }

/* gambar 1: more breathing room between the nav bar / menu and the page title */
.springer .pkp_structure_content .pkp_structure_main { padding-top: 3.25rem !important; }
.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_main { padding-top: 3.25rem !important; }
/* sidebar menu starts near the top (SD-like), less gap above Make a Submission */
.springer .pkp_structure_content:has(> .pkp_structure_sidebar) .pkp_structure_sidebar { padding-top: 1.75rem !important; }
.springer .pkp_structure_main > .page:not(.container) h2 { font-weight: 600; font-size: 1.3rem; color: var(--spr-ink); margin: 2rem 0 .75rem; padding-bottom: .4rem; border-bottom: 1px solid var(--spr-border); }
.springer .pkp_structure_main > .page:not(.container) h3 { font-weight: 600; font-size: 1.1rem; color: var(--spr-ink); margin: 1.5rem 0 .5rem; }
.springer .pkp_structure_main > .page:not(.container) p,
.springer .pkp_structure_main > .page:not(.container) li { line-height: 1.75; color: var(--spr-body); }
.springer .pkp_structure_main > .page:not(.container) a { color: var(--spr-blue); }
.springer .pkp_structure_main > .page:not(.container) table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .92rem; }
.springer .pkp_structure_main > .page:not(.container) table th { background: var(--spr-grey); color: var(--spr-ink); text-align: left; }
.springer .pkp_structure_main > .page:not(.container) table th, .springer .pkp_structure_main > .page:not(.container) table td { border: 1px solid var(--spr-border); padding: .6rem .8rem; }

/* =========================================================================
   ARTICLE PAGE polish (gambar 3) — SD reading look
   ========================================================================= */
.springer.pkp_page_article .tech-detail-header-title { font-size: 2.1rem !important; font-weight: 400 !important; line-height: 1.3 !important; }
.springer.pkp_page_article .tech-abstract-card { background: #fafafa !important; border-left: 3px solid var(--spr-blue) !important; border-radius: 0 !important; }
/* label an abstract section heading, SD-style */
.springer.pkp_page_article .tech-article-detail-box h2,
.springer.pkp_page_article .tech-article-detail-box h3 { font-weight: 600 !important; color: var(--spr-ink) !important; }
.springer.pkp_page_article .tech-keyword-tag { background: var(--spr-grey) !important; color: var(--spr-blue) !important; border: 1px solid var(--spr-border) !important; border-radius: 4px !important; font-weight: 500 !important; }

/* =========================================================================
   SCIENCEDIRECT ARTICLE VIEW (theme-override markup .spr-article)
   ========================================================================= */
.springer .spr-article { max-width: 1320px; margin: 0 auto; }
/* top action bar */
.springer .spr-art-actionbar { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; padding: 0 0 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-art-access { display: inline-flex; align-items: center; gap: .5rem; background: var(--spr-blue); color: #fff !important; font-weight: 500; padding: .6rem 1.4rem; border-radius: 4px; text-decoration: none !important; }
.springer .spr-art-access:hover { background: var(--spr-blue-dark); color: #fff !important; }
.springer .spr-art-access i { color: #fff !important; }
.springer .spr-art-purchase { display: inline-flex; align-items: center; gap: .5rem; background: #fff; color: var(--spr-blue) !important; border: 1px solid var(--spr-blue); font-weight: 500; padding: .6rem 1.4rem; border-radius: 4px; text-decoration: none !important; }
.springer .spr-art-purchase:hover { background: #e8f1f6; color: var(--spr-blue-dark) !important; }

/* 3-column grid */
.springer .spr-art-grid { display: grid; grid-template-columns: 190px minmax(0, 1fr) 320px; gap: 2.5rem; align-items: start; }
@media (max-width: 1199px) { .springer .spr-art-grid { grid-template-columns: 170px minmax(0, 1fr); } .springer .spr-art-rail { grid-column: 1 / -1; } }
@media (max-width: 767px) { .springer .spr-art-grid { grid-template-columns: 1fr; } .springer .spr-art-nav { display: none; } }

/* left nav */
.springer .spr-art-nav-inner { position: sticky; top: 84px; }
.springer .spr-art-nav-title { font-size: 1.05rem; font-weight: 600; color: var(--spr-ink); margin: 0 0 .75rem; }
.springer .spr-art-nav ul { list-style: none; margin: 0; padding: 0; }
.springer .spr-art-nav li { margin: 0; }
.springer .spr-art-nav li a { display: block; padding: .4rem 0; color: var(--spr-blue); font-size: .92rem; border-left: 2px solid transparent; padding-left: .75rem; }
.springer .spr-art-nav li a:hover { color: var(--spr-blue-dark); border-left-color: var(--spr-orange); text-decoration: none; }

/* centre */
.springer .spr-art-main { min-width: 0; }
.springer .spr-art-jhead { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-art-jhead-id { display: flex; align-items: center; gap: .85rem; }
.springer .spr-art-jlogo { height: 46px; width: auto; }
.springer .spr-art-jtitle { font-weight: 600; color: var(--spr-ink) !important; font-size: 1.05rem; }
.springer .spr-art-jvol { font-size: .85rem; color: var(--spr-muted); margin-top: .15rem; }
.springer .spr-art-jvol a { color: var(--spr-blue); }
.springer .spr-art-jcover { width: 54px; height: auto; border: 1px solid var(--spr-border); border-radius: 2px; }
.springer .spr-art-title { font-size: 2rem; font-weight: 400; line-height: 1.3; color: var(--spr-ink); margin: 0 0 1rem; letter-spacing: -.01em; }
.springer .spr-art-subtitle { font-size: 1.2rem; color: var(--spr-body); margin: -.5rem 0 1rem; }
.springer .spr-art-authors { font-size: 1rem; color: var(--spr-ink); margin-bottom: .5rem; line-height: 1.8; }
.springer .spr-art-author { }
.springer .spr-art-orcid { color: #a6ce39 !important; margin-left: .2rem; }
.springer .spr-art-showmore { background: none; border: 0; color: var(--spr-blue); cursor: pointer; font: inherit; font-size: .9rem; padding: 0; margin-left: .5rem; display: inline-flex; align-items: center; gap: .25rem; }
.springer .spr-art-showmore i { font-size: .8rem; transition: transform .2s ease; }
.springer .spr-art-showmore.is-open i { transform: rotate(180deg); }
.springer .spr-art-affs { background: var(--spr-grey); border-radius: 6px; padding: 1rem 1.25rem; margin: .5rem 0 1rem; }
.springer .spr-art-affs ul { list-style: none; margin: 0; padding: 0; }
.springer .spr-art-affs li { font-size: .9rem; color: var(--spr-body); margin-bottom: .4rem; }
.springer .spr-art-aff-name { font-weight: 600; color: var(--spr-ink); }
.springer .spr-art-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; padding: .85rem 0; border-top: 1px solid var(--spr-border); border-bottom: 1px solid var(--spr-border); margin-bottom: 1.5rem; }
.springer .spr-art-tool { display: inline-flex; align-items: center; gap: .4rem; color: var(--spr-blue); font-size: .9rem; font-weight: 500; }
.springer .spr-art-tool i { font-size: 1rem; }
.springer .spr-art-section { margin-bottom: 2rem; scroll-margin-top: 84px; }
.springer .spr-art-h { font-size: 1.35rem; font-weight: 600; color: var(--spr-ink); margin: 0 0 .85rem; }
.springer .spr-art-abstract { font-size: 1rem; line-height: 1.8; color: var(--spr-body); }
.springer .spr-art-abstract p { margin: 0 0 1rem; }
.springer .spr-art-keywords { display: flex; flex-wrap: wrap; gap: .5rem; }
.springer .spr-art-kw { background: var(--spr-grey); color: var(--spr-blue) !important; border: 1px solid var(--spr-border); border-radius: 4px; padding: .3rem .8rem; font-size: .88rem; text-decoration: none !important; }
.springer .spr-art-kw:hover { background: var(--spr-blue); color: #fff !important; }
/* references */
.springer .spr-art-refs { list-style: none; counter-reset: elsref; margin: 0; padding: 0; }
.springer .spr-art-ref { position: relative; padding: .85rem 0 .85rem 2.4rem; border-bottom: 1px solid var(--spr-border); font-size: .92rem; line-height: 1.6; color: var(--spr-body); counter-increment: elsref; }
.springer .spr-art-ref::before { content: counter(elsref) "."; position: absolute; left: 0; top: .85rem; color: var(--spr-muted); font-weight: 600; }
.springer .spr-art-ref a { color: var(--spr-blue); }
.springer .spr-art-morebtn { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; background: #fff; border: 1px solid var(--spr-blue); color: var(--spr-blue); font: inherit; font-size: .9rem; font-weight: 500; padding: .55rem 1.1rem; border-radius: 4px; cursor: pointer; }
.springer .spr-art-morebtn:hover { background: #e8f1f6; }
/* how-to-cite + license reuse existing .item.citation styles */
.springer .spr-art-license { margin-top: 1.5rem; padding: 1.1rem 1.25rem; background: var(--spr-grey); border-radius: 6px; font-size: .9rem; color: var(--spr-body); }
.springer .spr-art-license .spr-art-h { font-size: 1.05rem; }

/* right rail */
.springer .spr-art-rail-inner { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 1.25rem; }
.springer .spr-rail-card { border: 1px solid var(--spr-border); border-radius: 8px; padding: 1.1rem 1.15rem; }
.springer .spr-rail-title { font-size: 1rem; font-weight: 600; color: var(--spr-ink); margin: 0 0 .85rem; padding-bottom: .5rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-rail-pdf { display: grid; gap: .5rem; }
.springer .spr-rail-metrics { display: flex; gap: 1rem; text-align: center; }
.springer .spr-rail-metrics > div { flex: 1; background: var(--spr-grey); border-radius: 6px; padding: .75rem .5rem; }
.springer .spr-rail-metrics strong { display: block; font-size: 1.5rem; font-weight: 300; color: var(--spr-ink); }
.springer .spr-rail-metrics span { font-size: .78rem; color: var(--spr-muted); text-transform: uppercase; }
.springer .spr-rail-dim { display: flex; flex-direction: column; align-items: center; gap: .4rem; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--spr-border); }
.springer .spr-rail-dim-label { font-size: .75rem; font-weight: 600; text-transform: uppercase; color: var(--spr-muted); }
.springer .spr-rail-usage { margin-top: 1rem; }
.springer .spr-rail-usage .usageStatsUnavailable { text-align: center; padding: .5rem 0; }
.springer .spr-rail-share { display: flex; gap: .6rem; }
.springer .spr-rail-share a { width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: var(--spr-grey); color: var(--spr-ink); font-size: 1.1rem; }
.springer .spr-rail-share a:hover { background: var(--spr-orange); color: #fff; text-decoration: none; }

/* =========================================================================
   ISSUE VIEW (theme-override issue.tpl) — consistent header + 2-col
   ========================================================================= */
.springer .spr-issue-head { display: flex; gap: 1.5rem; align-items: flex-start; padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-issue-cover img { width: 120px; height: auto; border: 1px solid var(--spr-border); border-radius: 2px; }
.springer .spr-issue-title { font-size: 2rem; font-weight: 300; color: var(--spr-ink); margin: 0; letter-spacing: -.01em; }
.springer .spr-issue-date { color: var(--spr-muted); font-size: .95rem; font-style: italic; margin-top: .35rem; }
.springer .spr-issue-doi { font-size: .85rem; margin-top: .25rem; color: var(--spr-muted); }
.springer .spr-issue-doi a { color: var(--spr-blue); }
.springer .spr-issue-desc { margin-top: .85rem; color: var(--spr-body); line-height: 1.7; font-size: .95rem; }
.springer .spr-issue-grid.has-side { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2.5rem; align-items: start; }
.springer .spr-issue-side .spr-sidebar-blocks { position: sticky; top: 84px; }
@media (max-width: 991px) { .springer .spr-issue-grid.has-side { grid-template-columns: 1fr; } .springer .spr-issue-head { flex-wrap: wrap; } }

/* =========================================================================
   SEARCH PAGE
   ========================================================================= */
.springer .page_search .search_input .query { width: 100%; height: 48px; border: 1px solid var(--spr-border); border-radius: 6px; padding: 0 1rem; font-size: 1rem; }
.springer .page_search .search_advanced { border: 1px solid var(--spr-border); border-radius: 8px; padding: 1.25rem 1.5rem; margin: 1.25rem 0; }
.springer .page_search .search_advanced legend { font-weight: 600; font-size: 1rem; padding: 0 .5rem; width: auto; color: var(--spr-ink); }
.springer .page_search .search_advanced .label { font-weight: 500; font-size: .9rem; }
.springer .search_results { list-style: none; padding: 0; margin: 1.5rem 0 0; border-top: 1px solid var(--spr-border); }
.springer .search_results > li { list-style: none; }

/* =========================================================================
   GENERIC DEFAULT PAGES — forms, buttons, notifications, announcements
   ========================================================================= */
.springer .pkp_structure_main .pkp_button,
.springer .pkp_structure_main button.submit,
.springer .pkp_structure_main .cmp_form button[type="submit"],
.springer .pkp_structure_main input[type="submit"] {
	background: var(--spr-blue) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important;
	padding: .6rem 1.5rem !important; font-weight: 500 !important; cursor: pointer; text-decoration: none;
}
.springer .pkp_structure_main .pkp_button:hover,
.springer .pkp_structure_main button.submit:hover,
.springer .pkp_structure_main input[type="submit"]:hover { background: var(--spr-blue-dark) !important; color: #fff !important; }
.springer .pkp_structure_main .cmp_form .fields > .field { margin-bottom: 1.1rem; }
.springer .pkp_structure_main label.label, .springer .pkp_structure_main .cmp_form label { font-weight: 500; color: var(--spr-ink); }

/* Notifications / alerts */
.springer .cmp_notification, .springer .pkp_notification {
	border: 1px solid var(--spr-border); border-left: 4px solid var(--spr-blue); border-radius: 6px;
	background: #e8f1f6; padding: 1rem 1.25rem; color: var(--spr-body); margin: 1rem 0;
}
.springer .cmp_notification.notice { border-left-color: var(--spr-blue); background: #e8f1f6; }
.springer .cmp_notification.warning { border-left-color: var(--spr-orange); background: var(--spr-peach); }
.springer .cmp_notification.error { border-left-color: #d0432b; background: #fdecea; }

/* Announcements */
.springer .obj_announcement_summary { border-bottom: 1px solid var(--spr-border); padding: 1.25rem 0; }
.springer .obj_announcement_summary .title, .springer .obj_announcement_summary .title a { color: var(--spr-blue); font-weight: 500; font-size: 1.1rem; }
.springer .obj_announcement_summary .date { color: var(--spr-muted); font-size: .85rem; margin-bottom: .35rem; }
.springer .obj_announcement_summary .description { color: var(--spr-body); font-size: .93rem; line-height: 1.6; }
.springer .obj_announcement_full .date { color: var(--spr-muted); font-size: .9rem; }

/* Category / catalog browse */
.springer .cmp_category_grid .obj_category_summary { border-bottom: 1px solid var(--spr-border); padding: 1rem 0; }
.springer .cmp_category_grid .title a { color: var(--spr-blue); font-weight: 500; }


/* =========================================================================
   EMERALD header (white utility bar + teal journal band) & footer band
   Overrides the cloned masthead/nav markup with Springer Publishing layout.
   ========================================================================= */
/* Top utility bar */
.springer .spr-topbar { background: #fff; border-bottom: 1px solid var(--spr-border); }
.springer .spr-topbar-inner { display: flex; align-items: center; gap: 1.25rem; min-height: 56px; }
.springer .spr-corp-brand { display: inline-flex; align-items: center; }
.springer .spr-corp-brand img { max-height: 34px; width: auto; }
.springer .spr-corp-name { font-weight: 800; color: var(--spr-orange); font-size: 1.05rem; }
.springer .spr-topbar-links { display: flex; gap: 1.4rem; margin-left: .75rem; }
.springer .spr-topbar-links a { color: var(--spr-ink); font-size: .9rem; }
.springer .spr-topbar-links a:hover { color: var(--spr-blue); text-decoration: none; }
.springer .spr-topbar-right { margin-left: auto; display: flex; align-items: center; gap: 1.2rem; }
.springer .spr-topbar-right a { color: var(--spr-ink); font-size: .9rem; display: inline-flex; align-items: center; gap: .35rem; }
.springer .spr-topbar-right a:hover { color: var(--spr-blue); text-decoration: none; }
.springer .spr-signin { font-weight: 600; }
.springer .spr-topbar-search { font-size: 1.05rem; }

/* Teal journal band */
.springer .spr-band { background: var(--spr-orange); color: #fff; position: sticky; top: 0; z-index: 1030; transition: box-shadow .2s ease; }
.springer .spr-band.is-stuck { box-shadow: 0 3px 12px rgba(0,0,0,.20); }
.springer .spr-band-inner { display: flex; align-items: center; min-height: 66px; flex-wrap: wrap; gap: .5rem 1rem; }
.springer .spr-band-title { color: #fff !important; font-size: 1.5rem; font-weight: 400; margin-right: auto; letter-spacing: -.01em; }
.springer .spr-band-title:hover { color: #fff !important; text-decoration: none; }
.springer .spr-band-nav { display: flex !important; align-items: center; gap: .25rem; flex: 0 1 auto; }
.springer .spr-menu { display: flex; gap: .2rem; margin: 0; align-items: center; }
.springer .spr-menu > li { position: relative; }
.springer .spr-menu > li > a { display: block; padding: .55rem .9rem; color: #fff; font-weight: 500; font-size: .95rem; border-radius: 4px; }
.springer .spr-menu > li > a:hover, .springer .spr-menu > li.current > a { background: rgba(255,255,255,.16); color: #fff; text-decoration: none; }
.springer .spr-menu li ul { list-style: none; margin: 0; padding: .4rem; position: absolute; top: 100%; left: 0; min-width: 230px; background: #fff; border: 1px solid var(--spr-border); border-radius: 6px; box-shadow: var(--spr-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .18s ease; z-index: 100; }
.springer .spr-menu li:hover > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.springer .spr-menu li ul li a { display: block; padding: .5rem .7rem; border-radius: 4px; color: var(--spr-ink); font-weight: 400; font-size: .9rem; }
.springer .spr-menu li ul li a:hover { background: rgba(var(--spr-blue-rgb), .08); color: var(--spr-blue); text-decoration: none; }
.springer .spr-band-search { display: flex; align-items: center; margin-left: .75rem; background: rgba(255,255,255,.16); border-radius: 4px; overflow: hidden; height: 38px; }
.springer .spr-band-search input { background: transparent; border: 0; color: #fff; padding: 0 .8rem; outline: none; width: 170px; font-size: .9rem; }
.springer .spr-band-search input::placeholder { color: rgba(255,255,255,.85); }
.springer .spr-band-search button { background: transparent; border: 0; color: #fff; width: 40px; height: 100%; cursor: pointer; }
.springer .spr-band .navbar-toggler-icon { filter: invert(1) brightness(2); }
@media (max-width: 991.98px) {
	.springer .spr-band-nav { flex-basis: 100%; flex-direction: column; align-items: stretch; gap: .3rem; padding: .75rem 0; }
	.springer .spr-menu { flex-direction: column; }
	.springer .spr-menu li ul { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding-left: 1rem; background: rgba(255,255,255,.1); }
	.springer .spr-menu li ul li a { color: #fff; }
	.springer .spr-band-search { margin-left: 0; }
	.springer .spr-band-search input { width: 100%; }
}

/* ---- Springer footer band ---- */
.springer .spr-footer { border-top: 0; }
.springer .spr-foot-journal { background: var(--spr-orange); color: #fff; padding: 1.6rem 0 1.1rem; }
.springer .spr-foot-journal-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.springer .spr-foot-jlinks { list-style: none; display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 0; padding: 0; }
.springer .spr-foot-jlinks a { color: #fff; font-size: .92rem; }
.springer .spr-foot-jlinks a:hover { color: #fff; text-decoration: none; }
.springer .spr-foot-jname { font-size: 1.15rem; font-weight: 700; color: #fff; max-width: 300px; text-align: right; line-height: 1.25; }
.springer .spr-foot-issn { color: rgba(255,255,255,.92); font-size: .85rem; text-align: center; padding-top: 1rem; margin-top: .9rem; border-top: 1px solid rgba(255,255,255,.25); }
.springer .spr-footer-cols { background: var(--spr-grey); padding: 2.5rem 0 2rem; }
.springer .spr-foot-brand { display: inline-flex; align-items: center; }
.springer .spr-foot-brand img { max-height: 40px; width: auto; }
.springer .spr-foot-brand span { font-weight: 700; color: var(--spr-ink); }

/* =========================================================================
   EMERALD issue-TOC rows (Abstract / View article / PDF / Add to Citation)
   ========================================================================= */
.springer .spr-row { padding: 1.25rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-row:last-child { border-bottom: 0; }
.springer .spr-row-title { font-size: 1.15rem; font-weight: 600; line-height: 1.35; margin: 0 0 .4rem; }
.springer .spr-row-title a { color: var(--spr-ink) !important; }
.springer .spr-row-title a:hover { color: var(--spr-blue) !important; text-decoration: none; }
.springer .spr-row-oa { color: #d98200; margin-left: .4rem; font-size: .95rem; }
.springer .spr-row-authors { font-size: .92rem; margin-bottom: .35rem; line-height: 1.5; }
.springer .spr-row-author { color: var(--spr-blue); }
.springer .spr-row-author:hover { text-decoration: none; }
.springer .spr-row-sep { color: var(--spr-muted); }
.springer .spr-row-meta { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .82rem; color: var(--spr-muted); margin-bottom: .75rem; }
.springer .spr-row-meta span { position: relative; }
.springer .spr-row-meta span + span::before { content: "·"; position: absolute; left: -.6rem; color: #c4c9c7; }
.springer .spr-row-btns { display: flex; flex-wrap: wrap; gap: .5rem; }
.springer .spr-rbtn { display: inline-flex; align-items: center; gap: .35rem; background: #fff; border: 1px solid var(--spr-blue); color: var(--spr-blue) !important; font-size: .85rem; font-weight: 500; padding: .35rem .85rem; border-radius: 3px; cursor: pointer; text-decoration: none !important; font-family: inherit; transition: background .15s ease, color .15s ease; }
.springer .spr-rbtn:hover { background: var(--spr-blue); color: #fff !important; }
.springer .spr-rbtn i { font-size: .9rem; transition: transform .2s ease; }
.springer .spr-rbtn[aria-expanded="true"] .bi-chevron-down { transform: rotate(180deg); }
.springer .spr-abs { margin: .9rem 0 .25rem; padding: 1rem 1.25rem; background: var(--spr-grey); border-left: 3px solid var(--spr-blue); border-radius: 3px; font-size: .9rem; line-height: 1.7; color: var(--spr-body); }
.springer .spr-abs h4 { font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--spr-muted); margin: 0 0 .5rem; font-weight: 700; }
.springer .spr-abs p { margin: 0 0 .6rem; }
.springer .spr-abs p:last-of-type { margin-bottom: 0; }
.springer .spr-abs-more { display: inline-flex; align-items: center; gap: .35rem; margin-top: .65rem; color: var(--spr-blue); font-weight: 600; font-size: .86rem; }

/* =========================================================================
   EMERALD article header type-label + structured abstract
   ========================================================================= */
.springer .spr-art-type { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--spr-orange); margin-bottom: .6rem; }
.springer .spr-art-type-sep { color: var(--spr-border); font-weight: 400; margin: 0 .25rem; }
.springer .spr-art-abstract p { margin: 0 0 1rem; }
.springer .spr-art-abstract p:last-child { margin-bottom: 0; }
.springer .spr-art-abstract strong { color: var(--spr-ink); font-weight: 700; }
.springer .spr-art-abstract h2, .springer .spr-art-abstract h3, .springer .spr-art-abstract h4 { font-size: 1.05rem; font-weight: 700; color: var(--spr-ink); margin: 1.3rem 0 .4rem; }

/* =========================================================================
   EMERALD article header — Author & Article Information, meta bar, tool pills
   ========================================================================= */
.springer .spr-art-authinfo { background: none; border: 0; color: var(--spr-blue); cursor: pointer; font: inherit; font-size: .92rem; font-weight: 600; padding: 0; margin: .1rem 0 .85rem; display: inline-flex; align-items: center; gap: .4rem; }
.springer .spr-art-authinfo i { font-size: .8rem; transition: transform .2s ease; }
.springer .spr-art-authinfo.is-open i.bi-plus-lg { transform: rotate(45deg); }
.springer .spr-art-metabar { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; font-size: .85rem; color: var(--spr-muted); margin-bottom: 1rem; }
.springer .spr-art-metabar a { color: var(--spr-blue); }
.springer .spr-art-metadoi a { word-break: break-all; }
.springer .spr-art-tools { display: flex !important; flex-wrap: wrap; align-items: center; gap: .6rem !important; padding: 0 !important; border: 0 !important; margin-bottom: 1.75rem !important; }
.springer .spr-art-tool { display: inline-flex; align-items: center; gap: .45rem; background: #fff; border: 1px solid var(--spr-border); border-radius: 3px; padding: .45rem 1rem; color: var(--spr-blue) !important; font-size: .9rem; font-weight: 500; text-decoration: none !important; transition: border-color .15s ease, background .15s ease; }
.springer .spr-art-tool:hover { border-color: var(--spr-blue); background: var(--spr-peach); }
.springer .spr-art-tool .spr-tool-caret { font-size: .72rem; color: var(--spr-muted); }

/* =========================================================================
   EMERALD journal home (current issue + about, then 3-column area)
   ========================================================================= */
.springer .spr-jh { padding: 2.25rem 0 3.5rem; }
.springer .spr-btn { display: inline-flex; align-items: center; gap: .5rem; background: var(--spr-orange); color: #fff !important; font-weight: 500; font-size: .95rem; padding: .6rem 1.4rem; border-radius: 4px; text-decoration: none !important; border: 0; }
.springer .spr-btn:hover { background: var(--spr-orange-dark); color: #fff !important; }

/* top */
.springer .spr-jh-top { display: grid; grid-template-columns: 280px 1fr; gap: 3rem; padding-bottom: 2.25rem; margin-bottom: 2.25rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-jh-ci-cover { width: 180px; height: auto; border: 1px solid var(--spr-border); box-shadow: 0 4px 14px rgba(0,60,50,.12); }
.springer .spr-jh-ci-label { text-transform: uppercase; font-size: .72rem; letter-spacing: .06em; color: var(--spr-muted); font-weight: 700; margin-top: 1.1rem; }
.springer .spr-jh-ci-id { font-weight: 600; font-size: 1.05rem; color: var(--spr-ink); margin: .15rem 0; }
.springer .spr-jh-ci-date { color: var(--spr-muted); font-size: .9rem; margin-bottom: 1rem; }
.springer .spr-jh-ci-btn { margin-bottom: 0; }
.springer .spr-jh-ci-prog { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--spr-border); display: flex; flex-direction: column; gap: .3rem; }
.springer .spr-jh-ci-prog-h { text-transform: uppercase; font-size: .72rem; letter-spacing: .06em; color: var(--spr-muted); font-weight: 700; }
.springer .spr-jh-ci-prog a { color: var(--spr-blue); font-size: .92rem; }
.springer .spr-jh-about-h { font-size: 1.9rem; font-weight: 300; color: var(--spr-ink); margin: 0 0 1rem; letter-spacing: -.01em; }
.springer .spr-jh-about-body { color: var(--spr-body); line-height: 1.75; margin-bottom: 1.5rem; }
.springer .spr-jh-about-btns { display: flex; flex-wrap: wrap; gap: 1rem; }

/* 3 columns */
.springer .spr-jh-cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2.5rem; align-items: start; }
.springer .spr-jh-h { font-size: 1.25rem; font-weight: 600; color: var(--spr-orange); margin: 0 0 1rem; }
.springer .spr-jh-h3 { font-size: 1.05rem; font-weight: 600; color: var(--spr-ink); margin: 0 0 .85rem; }
.springer .spr-jh-sub { font-size: .98rem; font-weight: 600; color: var(--spr-ink); margin: 1.2rem 0 .3rem; }
.springer .spr-jh-list { padding-left: 1.1rem; margin: .3rem 0; }
.springer .spr-jh-list li { margin-bottom: .3rem; font-size: .93rem; color: var(--spr-body); }
.springer .spr-jh-note { color: var(--spr-muted); font-size: .88rem; line-height: 1.6; }
.springer .spr-jh-col p { font-size: .93rem; line-height: 1.65; color: var(--spr-body); }
.springer .spr-jh-col a { color: var(--spr-blue); }
.springer .spr-jh-guide { margin-top: 1.5rem; }
.springer .spr-jh-link { color: var(--spr-blue) !important; font-weight: 600; display: inline-flex; align-items: center; gap: .3rem; text-decoration: none !important; }
.springer .spr-jh-link:hover { text-decoration: none !important; }

/* bordered boxes (middle + right) */
.springer .spr-jh-box { border: 1px solid var(--spr-border); border-radius: 4px; padding: 1.3rem 1.4rem; margin-bottom: 1.5rem; }
.springer .spr-jh-mid > .spr-jh-box:first-child { border-color: var(--spr-orange); border-top: 3px solid var(--spr-orange); }
.springer .spr-jh-oa { padding: .85rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-jh-oa:last-of-type { border-bottom: 0; }
.springer .spr-jh-oa-date { font-size: .8rem; color: var(--spr-muted); margin-bottom: .25rem; }
.springer .spr-jh-oa-title { color: var(--spr-blue) !important; font-weight: 500; display: block; margin-bottom: .25rem; line-height: 1.4; }
.springer .spr-jh-oa-title:hover { text-decoration: none; }
.springer .spr-jh-oa-auth { font-size: .85rem; color: var(--spr-body); }

/* right rail */
.springer .spr-jh-glance ul { list-style: none; margin: 0; padding: 0; }
.springer .spr-jh-glance li { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--spr-border); font-size: .9rem; }
.springer .spr-jh-glance li:last-child { border-bottom: 0; }
.springer .spr-jh-g-k { color: var(--spr-muted); }
.springer .spr-jh-g-v { font-weight: 600; color: var(--spr-ink); text-align: right; }
.springer .spr-jh-info-line { font-size: .9rem; margin-bottom: .75rem; }
.springer .spr-jh-tabs { border-bottom: 2px solid var(--spr-orange); margin-bottom: .85rem; }
.springer .spr-jh-tab { display: inline-block; padding: .5rem 1rem; background: var(--spr-orange); color: #fff; font-weight: 600; font-size: .9rem; }
.springer .spr-jh-latest-list { list-style: none; margin: 0; padding: 0; }
.springer .spr-jh-latest-list li { padding: .6rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-jh-latest-list li:last-child { border-bottom: 0; }
.springer .spr-jh-latest-list a { color: var(--spr-blue); font-size: .92rem; line-height: 1.4; }
.springer .spr-jh-alerts ul { list-style: none; margin: 0; padding: 0; }
.springer .spr-jh-alerts li { padding: .4rem 0; }
.springer .spr-jh-alerts a { color: var(--spr-blue); font-size: .92rem; }

@media (max-width: 991px) {
	.springer .spr-jh-top { grid-template-columns: 1fr; gap: 2rem; }
	.springer .spr-jh-cols { grid-template-columns: 1fr; gap: 2rem; }
}

/* journal-home polish: current-issue section labels + cover fallback */
.springer .spr-jh-oa-section { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--spr-muted); margin: 1rem 0 .35rem; padding-bottom: .3rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-jh-oa-section:first-child { margin-top: 0; }
.springer .spr-jh-ci-fallback { display: flex; align-items: center; justify-content: center; width: 180px; height: 230px; background: var(--spr-grey); border: 1px solid var(--spr-border); color: var(--spr-orange); font-size: 3rem; text-decoration: none; }
.springer .spr-jh-ci-fallback:hover { background: #eef4f2; }

/* journal-home About body: render the journal's description HTML cleanly */
.springer .spr-jh-about-body { color: var(--spr-body); line-height: 1.7; margin-bottom: 1.5rem; font-size: .95rem; }
.springer .spr-jh-about-body p { margin: 0 0 .8rem; }
.springer .spr-jh-about-body a { color: var(--spr-blue); }
.springer .spr-jh-about-body table { width: 100%; border-collapse: collapse; margin: .5rem 0 1rem; font-size: .9rem; }
.springer .spr-jh-about-body table td, .springer .spr-jh-about-body table th { padding: .4rem .6rem; border-bottom: 1px solid var(--spr-border); vertical-align: top; text-align: left; }
.springer .spr-jh-about-body table td:first-child, .springer .spr-jh-about-body table th:first-child { color: var(--spr-muted); white-space: nowrap; width: 160px; font-weight: 500; }
.springer .spr-jh-about-body img { max-width: 100%; height: auto; }

/* Article Share / Cite dropdowns */
.springer .spr-art-dd { position: relative; display: inline-block; }
.springer .spr-art-dd .spr-tool-caret { transition: transform .2s ease; }
.springer .spr-art-dd.is-open .spr-tool-caret { transform: rotate(180deg); }
.springer .spr-art-dd.is-open > .spr-art-tool { border-color: var(--spr-blue); background: var(--spr-peach); }
.springer .spr-art-dd-menu { position: absolute; top: calc(100% + 6px); left: 0; min-width: 230px; background: #fff; border: 1px solid var(--spr-border); border-radius: 4px; box-shadow: var(--spr-shadow); padding: .4rem; z-index: 200; display: none; }
.springer .spr-art-dd.is-open .spr-art-dd-menu { display: block; }
.springer .spr-art-dd-menu a, .springer .spr-art-dd-menu button { display: flex; align-items: center; gap: .6rem; width: 100%; padding: .5rem .7rem; border-radius: 3px; color: var(--spr-ink) !important; font-size: .9rem; text-decoration: none !important; background: none; border: 0; cursor: pointer; text-align: left; font-family: inherit; }
.springer .spr-art-dd-menu a:hover, .springer .spr-art-dd-menu button:hover { background: var(--spr-grey); color: var(--spr-blue) !important; }
.springer .spr-art-dd-menu i { width: 18px; text-align: center; }
.springer .spr-art-dd-cite { min-width: 340px; max-width: 380px; }
.springer .spr-art-dd-cite-out { font-size: .82rem; line-height: 1.55; color: var(--spr-body); padding: .6rem .7rem; background: var(--spr-grey); border-radius: 3px; margin-bottom: .3rem; }
.springer .spr-art-dd-cite-dl { border-top: 1px solid var(--spr-border); margin-top: .3rem; padding-top: .3rem; }
.springer .spr-art-dd-more { border-top: 1px solid var(--spr-border); margin-top: .3rem; padding-top: .55rem !important; }

/* Editorial team list polish (works for simple + photo layouts) */
.springer .editorial-list ul { list-style: none; padding: 0; margin: 0; }
.springer .editorial-list li { margin-bottom: 1rem; line-height: 1.6; color: var(--spr-body); }
.springer .editorial-list li strong { color: var(--spr-ink); }
.springer .editorial-list a, .springer .team-content a, .springer .team-aff a { color: var(--spr-blue); }
.springer .editorial-list .img-profile { border: 1px solid var(--spr-border); }
.springer .team-content { color: var(--spr-body); }

/* =========================================================================
   SPRINGER header (utility bar + dark teal masthead + white nav) & footer
   ========================================================================= */
.springer .spr-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* utility bar */
.springer .spr-topbar { background: #fff; border-bottom: 1px solid var(--spr-border); }
.springer .spr-topbar-inner { display: flex; align-items: center; gap: 1.5rem; min-height: 54px; }
.springer .spr-corp { font-size: 1.15rem; text-decoration: none; }
.springer .spr-corp-strong { color: var(--spr-navy); font-weight: 800; letter-spacing: -.01em; }
.springer .spr-corp-light { color: var(--spr-navy); font-weight: 400; }
.springer .spr-topbar-nav { display: flex; gap: 1.4rem; margin-left: 1rem; }
.springer .spr-topbar-nav a, .springer .spr-topbar-right a { color: var(--spr-ink); font-size: .9rem; display: inline-flex; align-items: center; gap: .35rem; }
.springer .spr-topbar-nav a:hover, .springer .spr-topbar-right a:hover { color: var(--spr-blue); text-decoration: none; }
.springer .spr-topbar-right { margin-left: auto; display: flex; gap: 1.2rem; align-items: center; }
.springer .spr-signin { font-weight: 600; }

/* masthead */
.springer .spr-masthead { background: var(--spr-teal-hero); color: #fff; }
.springer .spr-masthead-inner { display: flex; gap: 2rem; padding: 1.75rem 0 1.5rem; position: relative; }
.springer .spr-mh-cover img { width: 108px; height: auto; border-radius: 2px; box-shadow: 0 4px 16px rgba(0,0,0,.3); }
.springer .spr-mh-cover-fb { width: 108px; height: 148px; background: rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 2.5rem; border-radius: 2px; text-decoration: none; }
.springer .spr-mh-id { flex: 1 1 auto; min-width: 0; }
.springer .spr-mh-crumb { font-size: .82rem; color: rgba(255,255,255,.8); margin-bottom: .55rem; display: flex; align-items: center; gap: .4rem; }
.springer .spr-mh-crumb a { color: rgba(255,255,255,.9); }
.springer .spr-mh-crumb i { font-size: .65rem; }
.springer .spr-mh-title { margin: 0 0 .25rem; font-size: 2.1rem; font-weight: 700; line-height: 1.15; }
.springer .spr-mh-title a { color: #fff !important; }
.springer .spr-mh-title a:hover { text-decoration: none; color: #fff !important; }
.springer .spr-mh-sub { color: rgba(255,255,255,.85); font-size: .95rem; margin: 0 0 .85rem; }
.springer .spr-mh-model { margin-bottom: 1.1rem; }
.springer .spr-mh-model span { display: block; color: rgba(255,255,255,.75); font-size: .78rem; }
.springer .spr-mh-model strong { color: #fff; font-size: 1rem; }
.springer .spr-mh-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.3rem; }
.springer .spr-btn-white { display: inline-flex; align-items: center; gap: .5rem; background: #fff; color: var(--spr-navy) !important; font-weight: 600; padding: .6rem 1.5rem; border-radius: 40px; text-decoration: none !important; }
.springer .spr-btn-white:hover { background: #eef2f4; color: var(--spr-navy) !important; }
.springer .spr-mh-save { color: #fff !important; font-weight: 500; display: inline-flex; align-items: center; gap: .4rem; }
.springer .spr-mh-save:hover { text-decoration: none; }
.springer .spr-mh-brandmark { position: absolute; top: 1.75rem; right: 0; color: rgba(255,255,255,.85); font-weight: 600; display: flex; align-items: center; gap: .4rem; font-size: .95rem; }
.springer .spr-mh-inst { background: rgba(0,0,0,.20); }
.springer .spr-mh-inst-inner { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; padding: .55rem 0; font-size: .85rem; color: rgba(255,255,255,.9); }
.springer .spr-mh-inst-inner a { color: #fff; text-decoration: none; }
@media (max-width: 767px) { .springer .spr-masthead-inner { flex-wrap: wrap; } .springer .spr-mh-brandmark { display: none; } .springer .spr-mh-title { font-size: 1.6rem; } }

/* white nav */
.springer .spr-nav { background: #fff; border-bottom: 1px solid var(--spr-border); position: sticky; top: 0; z-index: 1030; transition: box-shadow .2s ease; }
.springer .spr-nav.is-stuck { box-shadow: 0 3px 12px rgba(1,50,75,.12); }
.springer .spr-nav-collapse { display: flex; align-items: center; }
.springer .spr-menu { display: flex; gap: 0; margin: 0; align-items: stretch; }
.springer .spr-menu > li { position: relative; }
.springer .spr-menu > li > a { display: block; padding: .95rem 1rem; color: var(--spr-ink); font-weight: 600; font-size: .95rem; border-bottom: 3px solid transparent; }
.springer .spr-menu > li > a:hover, .springer .spr-menu > li.current > a { color: var(--spr-blue); border-bottom-color: var(--spr-blue); text-decoration: none; }
.springer .spr-menu li ul { list-style: none; margin: 0; padding: .4rem; position: absolute; top: 100%; left: 0; min-width: 230px; background: #fff; border: 1px solid var(--spr-border); border-radius: 4px; box-shadow: var(--spr-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .18s ease; z-index: 100; }
.springer .spr-menu li:hover > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.springer .spr-menu li ul li a { display: block; padding: .5rem .7rem; border-radius: 3px; color: var(--spr-ink); font-weight: 400; font-size: .9rem; }
.springer .spr-menu li ul li a:hover { background: var(--spr-peach); color: var(--spr-blue); text-decoration: none; }
.springer .spr-nav-search { margin-left: auto; display: flex; align-items: center; border: 1px solid var(--spr-border); border-radius: 40px; overflow: hidden; height: 38px; }
.springer .spr-nav-search input { border: 0; padding: 0 1rem; outline: none; width: 180px; font-size: .9rem; }
.springer .spr-nav-search button { border: 0; background: var(--spr-navy); color: #fff; width: 42px; height: 100%; cursor: pointer; }
@media (max-width: 991.98px) {
	.springer .spr-nav-collapse { flex-direction: column; align-items: stretch; padding: .5rem 0; }
	.springer .spr-menu { flex-direction: column; }
	.springer .spr-menu > li > a { border-bottom: 0; padding: .55rem .2rem; }
	.springer .spr-menu li ul { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding-left: 1rem; }
	.springer .spr-nav-search { margin: .5rem 0 0; }
	.springer .spr-nav-search input { width: 100%; }
}

/* footer (navy) */
.springer .spr-footer { background: var(--spr-navy); color: #cfd8de; border-top: 0; }
.springer .spr-footer-main { padding: 3rem 0 2rem; }
.springer .spr-foot-h { color: #fff; font-size: 1.05rem; font-weight: 700; margin: 0 0 1rem; }
.springer .spr-foot-links { list-style: none; padding: 0; margin: 0; }
.springer .spr-foot-links li { margin-bottom: .6rem; }
.springer .spr-foot-links a { color: #cfd8de; font-size: .92rem; text-decoration: none; text-underline-offset: 2px; }
.springer .spr-foot-links a:hover { color: #fff; }
.springer .spr-foot-meta { list-style: none; padding: 0; margin: 0 0 1rem; }
.springer .spr-foot-meta li { font-size: .82rem; color: #9fb0bb; margin-bottom: .55rem; line-height: 1.4; }
.springer .spr-foot-meta strong { color: #fff; font-size: .95rem; }
.springer .spr-foot-social { list-style: none; display: flex; gap: .9rem; padding: 0; margin: 0; }
.springer .spr-foot-social a { color: #cfd8de; font-size: 1.2rem; }
.springer .spr-foot-social a:hover { color: #fff; }
.springer .spr-foot-custom { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); color: #9fb0bb; font-size: .85rem; }
.springer .spr-footer-sub { border-top: 1px solid rgba(255,255,255,.15); padding: 1.25rem 0; }
.springer .spr-footer-sub-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.springer .spr-footer-legal { list-style: none; display: flex; flex-wrap: wrap; gap: 1.5rem; padding: 0; margin: 0; }
.springer .spr-footer-legal a { color: #cfd8de; font-size: .85rem; text-decoration: none; }
.springer .spr-footer-legal a:hover { color: #fff; }
.springer .spr-footer-copy { color: #9fb0bb; font-size: .85rem; margin: 0; }
.springer .spr-footer-copy strong { color: #fff; }

/* =========================================================================
   SPRINGER journal home (Overview + metrics, latest issue/articles, updates)
   ========================================================================= */
.springer .spr-jh { padding: 2.25rem 0 3.5rem; }
.springer .spr-jh-h { font-size: 1.6rem; font-weight: 700; color: var(--spr-ink); margin: 0 0 1rem; }
.springer .spr-jh-h3 { font-size: 1.35rem; font-weight: 700; color: var(--spr-ink); margin: 0 0 1rem; }
.springer .spr-jh-h4 { font-size: 1.05rem; font-weight: 700; color: var(--spr-ink); margin: 0 0 .6rem; }
.springer .spr-jh-link { color: var(--spr-blue) !important; font-weight: 600; display: inline-flex; align-items: center; gap: .4rem; text-decoration: none !important; }
.springer .spr-jh-link:hover { text-decoration: none !important; }
.springer .spr-jh-note { color: var(--spr-body); font-size: .93rem; line-height: 1.6; margin-bottom: .75rem; }

/* Overview + metrics */
.springer .spr-jh-top { display: grid; grid-template-columns: 1fr 300px; gap: 3rem; padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--spr-border); }
.springer .spr-jh-ov-body { color: var(--spr-body); line-height: 1.75; font-size: .98rem; margin-bottom: 1rem; }
.springer .spr-jh-ov-body p { margin: 0 0 1rem; }
.springer .spr-jh-ov-body a { color: var(--spr-blue); }
.springer .spr-jh-ov-body table { width: 100%; border-collapse: collapse; margin: .5rem 0 1rem; font-size: .92rem; }
.springer .spr-jh-ov-body table td, .springer .spr-jh-ov-body table th { padding: .4rem .6rem; border-bottom: 1px solid var(--spr-border); vertical-align: top; text-align: left; }
.springer .spr-jh-ov-body img { max-width: 100%; height: auto; }
.springer .spr-jh-metrics { border: 1px solid var(--spr-border); border-radius: 6px; padding: 1.3rem; align-self: start; }
.springer .spr-metric { display: flex; align-items: center; gap: .9rem; padding: .75rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-metric:last-child { border-bottom: 0; }
.springer .spr-metric-ico { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 6px; background: var(--spr-peach); color: var(--spr-blue); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.springer .spr-metric-v { display: block; font-weight: 700; color: var(--spr-ink); font-size: 1rem; line-height: 1.2; }
.springer .spr-metric-k { display: block; color: var(--spr-muted); font-size: .82rem; }

/* Call for papers + alerts */
.springer .spr-jh-row2 { display: grid; grid-template-columns: 1fr 320px; gap: 2rem; margin-bottom: 2.5rem; }
.springer .spr-jh-calls { border: 1px solid var(--spr-border); border-top: 3px solid var(--spr-blue); border-radius: 6px; padding: 1.4rem 1.6rem; }
.springer .spr-jh-alerts { background: var(--spr-peach); border-radius: 6px; padding: 1.4rem 1.6rem; }
.springer .spr-jh-alerts p { color: var(--spr-body); font-size: .92rem; margin: 0 0 .75rem; }

/* Latest issue */
.springer .spr-jh-latestissue { display: flex; gap: 1.5rem; align-items: center; background: var(--spr-grey); border-radius: 6px; padding: 1.5rem; margin-bottom: 2.5rem; }
.springer .spr-jh-li-cover { width: 90px; height: auto; border: 1px solid var(--spr-border); box-shadow: 0 3px 10px rgba(1,50,75,.12); }
.springer .spr-jh-li-label { text-transform: uppercase; font-size: .72rem; letter-spacing: .05em; color: var(--spr-muted); font-weight: 700; }
.springer .spr-jh-li-id { font-size: 1.2rem; font-weight: 700; color: var(--spr-ink); margin: .15rem 0; }
.springer .spr-jh-li-date { color: var(--spr-muted); font-size: .9rem; margin-bottom: .6rem; }

/* Latest articles */
.springer .spr-jh-latest { margin-bottom: 2.5rem; }
.springer .spr-jh-la { display: flex; gap: 1.2rem; padding: 1.1rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-jh-la-thumb { flex: 0 0 auto; width: 84px; height: 84px; border: 1px solid var(--spr-border); border-radius: 3px; overflow: hidden; display: block; }
.springer .spr-jh-la-thumb img { width: 100%; height: 100%; object-fit: cover; }
.springer .spr-jh-la-thumb-fb { display: flex; align-items: center; justify-content: center; background: var(--spr-grey); color: var(--spr-muted); font-size: 1.6rem; }
.springer .spr-jh-la-body { flex: 1 1 auto; min-width: 0; }
.springer .spr-jh-la-title { color: var(--spr-ink) !important; font-weight: 700; font-family: var(--spr-head-font); font-size: 1.08rem; line-height: 1.35; display: block; margin-bottom: .3rem; }
.springer .spr-jh-la-title:hover { color: var(--spr-blue) !important; text-decoration: none; }
.springer .spr-jh-la-auth { color: var(--spr-body); font-size: .9rem; margin-bottom: .3rem; }
.springer .spr-jh-la-meta { color: var(--spr-muted); font-size: .84rem; }
.springer .spr-jh-la-type { color: var(--spr-ink); font-weight: 600; }
.springer .spr-jh-latest-all { margin-top: 1.1rem; }

/* Journal updates */
.springer .spr-jh-updates { margin-bottom: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--spr-border); }
.springer .spr-jh-upd { border-left: 3px solid var(--spr-blue); background: var(--spr-grey); padding: 1rem 1.25rem; border-radius: 0 4px 4px 0; margin-bottom: 1rem; }
.springer .spr-jh-upd h4 { font-size: 1rem; font-weight: 700; margin: 0 0 .3rem; color: var(--spr-ink); }
.springer .spr-jh-upd p { margin: 0; font-size: .9rem; color: var(--spr-body); }

/* Journal information */
.springer .spr-jh-info { padding-top: 2rem; border-top: 1px solid var(--spr-border); }
.springer .spr-jh-info-issn { display: flex; flex-wrap: wrap; gap: 2.5rem; margin-bottom: 1.25rem; }
.springer .spr-jh-info-issn span { display: block; color: var(--spr-muted); font-size: .82rem; }
.springer .spr-jh-info-issn strong { color: var(--spr-ink); font-size: 1rem; }
.springer .spr-jh-info-links { display: flex; flex-wrap: wrap; gap: 2rem; }

@media (max-width: 991px) {
	.springer .spr-jh-top { grid-template-columns: 1fr; gap: 2rem; }
	.springer .spr-jh-row2 { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* =========================================================================
   SPRINGER issue / list rows (serif title + authors + meta + thumbnail)
   ========================================================================= */
.springer .spr-row { display: flex; gap: 1.5rem; align-items: flex-start; padding: 1.35rem 0; border-bottom: 1px solid var(--spr-border); }
.springer .spr-row:last-child { border-bottom: 0; }
.springer .spr-row-main { flex: 1 1 auto; min-width: 0; order: 1; }
.springer .spr-row-title { font-size: 1.2rem !important; font-weight: 700 !important; line-height: 1.35 !important; margin: 0 0 .45rem !important; }
.springer .spr-row-title a { color: var(--spr-ink) !important; }
.springer .spr-row-title a:hover { color: var(--spr-blue) !important; text-decoration: none; }
.springer .spr-row-auth { color: var(--spr-body); font-size: .92rem; margin-bottom: .5rem; line-height: 1.5; }
.springer .spr-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .55rem; font-size: .85rem; color: var(--spr-muted); }
.springer .spr-row-meta > span, .springer .spr-row-meta > a { position: relative; }
.springer .spr-row-meta > span + span::before, .springer .spr-row-meta > a::before, .springer .spr-row-meta > span + a::before { content: "·"; margin-right: .55rem; color: #b7bfc4; }
.springer .spr-row-meta > .spr-row-type::before, .springer .spr-row-meta > span:first-child::before { content: none; margin: 0; }
.springer .spr-row-type { color: var(--spr-ink); font-weight: 600; }
.springer .spr-row-oa { color: #1a7a3c; font-weight: 600; display: inline-flex; align-items: center; gap: .25rem; }
.springer .spr-row-oa i { color: #d98200; }
.springer .spr-row-pdf { color: var(--spr-blue) !important; font-weight: 600; display: inline-flex; align-items: center; gap: .3rem; }
.springer .spr-row-pdf:hover { text-decoration: none; }
.springer .spr-row-thumb { flex: 0 0 auto; order: 2; width: 96px; height: 96px; border: 1px solid var(--spr-border); border-radius: 3px; overflow: hidden; display: block; }
.springer .spr-row-thumb img { width: 100%; height: 100%; object-fit: cover; }
.springer .spr-row-thumb-fb { display: flex; align-items: center; justify-content: center; background: var(--spr-grey); color: var(--spr-muted); font-size: 1.9rem; }
@media (max-width: 575px) { .springer .spr-row-thumb { display: none; } }

/* Article header Open-access tag (Springer green) */
.springer .spr-art-oa { color: #1a7a3c; }
.springer .spr-art-oa i { color: #d98200; }

/* =========================================================================
   SPRINGER article: 2-column (content + rail), Sections moved to the rail
   ========================================================================= */
.springer .spr-art-nav { display: none !important; }
.springer .spr-art-grid { grid-template-columns: minmax(0, 1fr) 330px !important; }
@media (max-width: 991px) { .springer .spr-art-grid { grid-template-columns: 1fr !important; } }

.springer .spr-btn-navy { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; background: var(--spr-navy); color: #fff !important; font-weight: 600; padding: .65rem 1.2rem; border-radius: 4px; text-decoration: none !important; margin-bottom: .6rem; }
.springer .spr-btn-navy:hover { background: #012238; color: #fff !important; }
.springer .spr-btn-navy.w-100 { width: 100%; }

.springer .spr-rail-access .spr-access-oa { display: inline-flex; align-items: center; gap: .4rem; color: #1a7a3c; font-weight: 700; font-size: .9rem; margin-bottom: .75rem; }
.springer .spr-rail-access .spr-access-oa i { color: #d98200; }
.springer .spr-rail-readonline { display: inline-flex; align-items: center; gap: .4rem; color: var(--spr-blue) !important; font-weight: 600; font-size: .9rem; text-decoration: none !important; }
.springer .spr-rail-readonline:hover { text-decoration: none !important; }

.springer .spr-rail-secnav { list-style: none; margin: 0; padding: 0; }
.springer .spr-rail-secnav li { border-bottom: 1px solid var(--spr-border); }
.springer .spr-rail-secnav li:last-child { border-bottom: 0; }
.springer .spr-rail-secnav a { display: block; padding: .55rem 0; color: var(--spr-blue) !important; font-size: .92rem; text-decoration: none !important; }
.springer .spr-rail-secnav a:hover { text-decoration: none !important; }

/* ===== Springer mobile polish ===== */
@media (max-width: 767px) {
	.springer .spr-container { padding-left: 16px !important; padding-right: 16px !important; }
	.springer .spr-topbar-inner { min-height: 48px; gap: .75rem; }
	.springer .spr-mh-title { font-size: 1.5rem !important; }
	.springer .spr-mh-cover img, .springer .spr-mh-cover-fb { width: 78px; height: auto; }
	.springer .spr-mh-actions { gap: .75rem; }
	.springer .spr-jh-h, .springer .spr-jh-h3 { font-size: 1.3rem; }
	.springer .spr-jh-la-thumb { width: 64px; height: 64px; }
	.springer .spr-row { gap: 1rem; }
	.springer .spr-art-title, .springer .tech-detail-header-title { font-size: 1.5rem !important; }
	.springer .spr-stats-table, .springer .pkp_structure_main table { display: block; overflow-x: auto; max-width: 100%; }
	.springer .spr-art-dd-menu, .springer .spr-art-dd-cite { min-width: 240px; max-width: 84vw; }
}

/* mobile: let the hamburger actually collapse the nav */
@media (max-width: 991.98px) {
	.springer .spr-nav-collapse:not(.show) { display: none !important; }
	.springer .spr-nav-collapse.show { display: block !important; }
}

/* ===== Global: no underline on any link (all states) ===== */
body.springer a, body.springer a:hover, body.springer a:focus, body.springer a:active { text-decoration: none !important; }
/* ===== FLAT / BORDERLESS — remove separator & frame borders theme-wide ===== */
body.springer .pkp_structure_page, body.springer .pkp_structure_content, body.springer .pkp_structure_content.has_sidebar, body.springer .pkp_structure_main { border: 0 !important; box-shadow: none !important; }
body.springer .pkp_structure_main:before, body.springer .pkp_structure_main:after, body.springer .pkp_structure_content:before, body.springer .pkp_structure_content:after { display: none !important; content: none !important; border: 0 !important; }
body.springer .pkp_structure_main > .page:not(.container):not(.technova-home), body.springer .pkp_structure_main > .container:not(.technova-home) { border: 0 !important; box-shadow: none !important; }
body.springer .pkp_structure_sidebar, body.springer .pkp_structure_sidebar.left, body.springer .pkp_structure_content.has_sidebar > .pkp_structure_main, body.springer .pkp_structure_content.has_sidebar > .pkp_structure_sidebar { border-left: 0 !important; border-right: 0 !important; }
body.springer .spr-topbar, body.springer .spr-nav, body.springer .spr-subnav, body.springer .spr-masthead, body.springer .spr-footer, body.springer .spr-footer-bar, body.springer .spr-footer-sub { border-top: 0 !important; border-bottom: 0 !important; }

/* Article page: menu is already rendered inside the article's right rail
   (via Templates::Common::Sidebar), so hide the duplicate standalone
   OJS page sidebar to avoid the menu appearing twice. */
body.springer.pkp_page_article .pkp_structure_content .pkp_structure_sidebar,
body.springer.pkp_page_article .pkp_structure_content.has_sidebar > .pkp_structure_sidebar { display: none !important; }

/* Journal Summary (Overview) rendered as rich HTML: tidy legacy tables + center SINTA widget */
.springer .spr-jh-ov-body table, .springer .spr-jh-ov-body table td, .springer .spr-jh-ov-body table th { background: transparent !important; }
.springer .spr-jh-ov-body table td:first-child { color: var(--spr-muted); white-space: nowrap; width: 34%; }
.springer .spr-jh-ov-body p:has(> a > img), .springer .spr-jh-ov-body p:has(> img) { text-align: center; }

/* Article DOI line in issue-TOC / list rows */
.springer .spr-row-doi { font-size: .82rem; margin: .1rem 0 .75rem; display: flex; align-items: center; gap: .3rem; word-break: break-all; }
.springer .spr-row-doi i { color: var(--spr-muted); }
.springer .spr-row-doi a { color: var(--spr-blue); }

/* Dashboard "belum diproses" count badge */
.springer .spr-pending-badge { display: inline-block; background: #d92d20; color: #fff !important; font-size: .68rem; font-weight: 700; line-height: 1; padding: .22em .5em; border-radius: 20px; vertical-align: middle; margin-left: .1rem; }

/* Homepage latest-articles: no thumbnail; Views/Downloads + PDF button */
.springer .spr-jh-la { display: block; }
.springer .spr-jh-la-stats { display: flex; flex-wrap: wrap; gap: 1rem; margin: .4rem 0 .5rem; font-size: .8rem; color: var(--spr-muted); }
.springer .spr-jh-la-stats span { display: inline-flex; align-items: center; gap: .35rem; }
.springer .spr-jh-la-stats i { font-size: .9em; }
.springer .spr-jh-la-links { margin-top: .3rem; }
.springer .spr-jh-la-pdf { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 600; color: var(--spr-blue) !important; border: 1px solid var(--spr-border); border-radius: 3px; padding: .35rem .8rem; text-decoration: none !important; background: #fff; }
.springer .spr-jh-la-pdf:hover { border-color: var(--spr-blue); background: #eef3f7; }
.springer .spr-jh-la-pdf i { color: #d0342c; }

/* Issue row: PDF as a button */
.springer .spr-row-links { margin-top: .6rem; }
.springer .spr-row-pdf-btn { display: inline-flex; align-items: center; gap: .4rem; font-size: .84rem; font-weight: 600; color: var(--spr-blue) !important; border: 1px solid var(--spr-border); border-radius: 3px; padding: .4rem .85rem; text-decoration: none !important; background: #fff; margin-right: .5rem; }
.springer .spr-row-pdf-btn:hover { border-color: var(--spr-blue); background: #eef3f7; }
.springer .spr-row-pdf-btn i { color: #d0342c; }

/* Content-width safety net (independent of technova.css): keeps the layout wide
   even if the technova structural sheet is missing/stale on a deployment. */
@media (min-width: 1200px) {
	body.springer .container, body.springer .container-sm, body.springer .container-md,
	body.springer .container-lg, body.springer .container-xl, body.springer .container-xxl { max-width: 1180px !important; }
}
@media (min-width: 1400px) {
	body.springer .container, body.springer .container-sm, body.springer .container-md,
	body.springer .container-lg, body.springer .container-xl, body.springer .container-xxl { max-width: 1300px !important; }
}
body.springer .pkp_structure_content { width: 100% !important; max-width: none !important; }
body.springer.pkp_page_article .pkp_structure_main { max-width: 100% !important; width: 100% !important; }

/* DOI on homepage latest-article cards */
.springer .spr-jh-la-doi { font-size: .8rem; margin: .3rem 0 0; display: flex; align-items: center; gap: .3rem; word-break: break-all; color: var(--spr-muted); }
.springer .spr-jh-la-doi i { color: var(--spr-muted); }
.springer .spr-jh-la-doi a { color: var(--spr-blue); }

/* Corresponding-author email icon */
.springer .spr-art-corr { color: var(--spr-blue); margin-left: .25rem; font-size: .85em; text-decoration: none; }

/* Issue-TOC article rows as boxes/cards */
.springer .spr-toc-list, .springer .spr-toc-section { }
.springer .spr-row { padding: 1.25rem 1.5rem !important; border: 1px solid var(--spr-border) !important; border-radius: 6px !important; background: #fff; margin-bottom: 1rem; transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
.springer .spr-row:hover { box-shadow: 0 4px 16px rgba(1,50,75,.09); border-color: var(--spr-blue) !important; transform: translateY(-1px); }
.springer .spr-row:last-child { margin-bottom: 0; }

/* Homepage latest-article cards as boxes */
.springer .spr-jh-la { padding: 1.25rem 1.5rem !important; border: 1px solid var(--spr-border) !important; border-radius: 6px !important; background: #fff; margin-bottom: 1rem !important; transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
.springer .spr-jh-la:hover { box-shadow: 0 4px 16px rgba(1,50,75,.09); border-color: var(--spr-blue) !important; transform: translateY(-1px); }

/* Uniform spacing above & below the "Articles" section title */
.springer .spr-toc-section-title { margin: 1.25rem 0 1.25rem !important; }

/* "Pages" alert box in issue-TOC row */
.springer .spr-row-pages-alert { display: inline-flex; align-items: center; gap: .45rem; font-size: .82rem; font-weight: 500; color: var(--spr-blue); background: #eef2f7; border: 1px solid var(--spr-border); border-left: 3px solid var(--spr-blue); border-radius: 4px; padding: .4rem .75rem; margin: .1rem 0 .5rem; }
.springer .spr-row-pages-alert i { font-size: .95em; }
