@import url("/public/journals/1/google-fonts/merriweather.css");

@import url("/public/journals/1/google-fonts/merriweather.css");

:root {
    --starnexus-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --starnexus-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --primary-dark: #4A3A6B;
    --accent-gold: #D4AF37;
    --white: #FFFFFF;
    --text-dark: #2D3748;
    --primary-light-purple: #E0D9F0;
}
.logo-icon {
    width: 32px;
    height: 32px;
    background: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.main-header {
    background: var(--primary-dark);
}
.navbar-logo-text {
    color: var(--white);
}
.navbar-logo-text:hover{
    color: var(--accent-gold);
}
.app__header{
    background: var(--primary-dark);
}
/*.nmi_type_current a,
.nmi_type_archives a,
.nmi_type_about a,
.nmi_type_user_register a,
.nmi_type_user_login a{
    color: var(--white) !important;
}
.nmi_type_current a:hover,
.nmi_type_archives a:hover,
.nmi_type_about a:hover,
.nmi_type_user_register a:hover,
.nmi_type_user_login a:hover {
    color: var(--accent-gold) !important;
}*/

#primaryNav li a,
#userNav li a,
#navigationPrimary li a,
#navigationUser li a,
#navMenuDropdown2,
.pkp_site_name a {
    color: var(--white) !important;
}
#primaryNav li a:hover,
#userNav li a:hover,
#navigationPrimary li a:hover,
#navigationUser li a:hover,
.pkp_site_name a:hover {
    color: var(--accent-gold) !important;
}
#languageToggleMenulanguageLargeNav {
    color: var(--white);
}
#languageLargeNav .dropdown-menu,
#navigationPrimary .dropdown-menu,
#navigationUser .dropdown-menu,
#userNav .dropdown-menu {
    background: var(--white);
    color: var(--text-dark) !important;
}
#navigationPrimary .dropdown-menu li a,
#navigationPrimary .dropdown-menu li a{
    color: var(--text-dark) !important;
}
#languageLargeNav .dropdown-item,
#userNav .dropdown-item {
    color: var(--text-dark) !important;
}
#languageLargeNav .dropdown-item:hover,
#userNav .dropdown-item:hover {
    background: var(--primary-light-purple) !important;
}

.page-custom .page-header,
.page-information .page-header,
.page-static .page-header,
.page-archives .page-archives-header,
.pkp_structure_main .page .page_title
.container-homepage-issue .homepage-issue-current,
.container-homepage-issue .homepage-issue-identifier,
.container-homepage-issue .homepage-issue-published {
    display: none !important;
}

/* footer */
.site-footer {
    background-color: var(--primary-dark);
    color: rgba(255, 255, 255, 0.8);
    padding: 48px 0 24px;
    margin-top: auto;
    font-size: 0.85rem;
}
.footer-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
}
.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 40px;
}
.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.footer-logo-img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 50%;
}
.footer-logo-text {
    font-weight: 600;
    color: var(--white);
    font-size: 1rem;
}
.footer-logo-text span {
    color: var(--accent-gold);
}
.footer-desc {
    line-height: 1.6;
    opacity: 0.8;
    margin-top: 8px;
}
.footer-cert {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}
.cert-badge {
    background: rgba(255, 255, 255, 0.15);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--accent-gold) !important;
    text-decoration: none !important;
}
.footer-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--accent-gold);
    position: relative;
    display: inline-block;
}
.footer-links, .footer-contact {
    list-style: none;
    padding: 0;
}
.footer-links li, .footer-contact li {
    margin-bottom: 12px;
}
.footer-links a, .footer-contact a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.2s;
}
.footer-links a:hover, .footer-contact a:hover {
    color: var(--accent-gold);
}
.footer-contact i {
    width: 24px;
    color: var(--accent-gold);
    margin-right: 8px;
}
.footer-social {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}
.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: var(--white);
    text-decoration: none;
    transition: all 0.2s;
}
.footer-social a:hover {
    background: var(--accent-gold);
    color: var(--primary-dark);
    transform: translateY(-2px);
}
.footer-legal {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.footer-legal a {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    font-size: 0.75rem;
}
.footer-legal a:hover {
    color: var(--accent-gold);
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 24px;
    text-align: center;
    font-size: 0.75rem;
    opacity: 0.6;
}
@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}
@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-logo {
        justify-content: center;
    }
    .footer-cert {
        justify-content: center;
    }
    .footer-social {
        justify-content: center;
    }
    .footer-legal {
        justify-content: center;
    }
}

.site-footer .site-footer-content .row .text-right {
    display: none !important;
}

.pkp_brand_footer {
    display: none !important;
}
/* ==========================================================================
   [SNX-INVITED] 特邀文章（Invited Article）徽章与 Editorial Note
   --------------------------------------------------------------------------
   作用域：仅由 snxMeta 插件在 $snxIsInvited 为真时输出对应 DOM，
   普通稿件不存在 .badge-invited / .invited-note 节点，故以下规则不会误伤。

   配色（品牌紫体系，白底对比度均过 WCAG AA）：
     #4A3A6B on #F3E8FF = 8.63:1
     #3B2E57 on #F3E8FF = 10.9:1
   ========================================================================== */

/* 头部特邀徽章：放在文章标题上方 */
.badge-invited {
    display: inline-block;
    background-color: #F3E8FF;
    color: #4A3A6B;
    font-weight: 700;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.6;
    padding: 3px 10px;
    margin-bottom: 10px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

/* Advance Online Publication 徽章（替换 forthcoming 插件的 Forthcoming） */
.snx-aop-label {
    margin-bottom: 8px;
}

.badge-aop {
    display: inline-block;
    background-color: #F3E8FF;
    color: #4A3A6B;
    font-weight: 700;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.6;
    padding: 3px 10px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

/* Editorial Note：位于标题与作者之间 */
.editorial-note {
    background-color: #F3E8FF;
    border-left: 4px solid #4A3A6B;
    padding: 16px;
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 24px;
    color: #3B2E57;
    border-radius: 0 4px 4px 0;
}

/* 特邀稿件的摘要标题：语义化 h2，视觉与其它 section 标题对齐 */
.obj_article_details .item.abstract h2:not(.label) {
    font-size: 1rem;
    font-weight: 700;
    color: #4A3A6B;
    margin: 0 0 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid #E5DFF0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* 参考文献：ol.ref-list 正常渲染序号与缩进 */
.obj_article_details ol.ref-list {
    margin: 0;
    padding-left: 1.6em;
    list-style: decimal outside;
}

.obj_article_details ol.ref-list li {
    display: list-item;
    margin-bottom: 10px;
    padding-left: 4px;
    font-size: 14px;
    line-height: 1.7;
    color: #2D3748;
}

/* [SNX-AOP] 当页面上存在 .snx-aop-label（AOP 稿件）时，隐藏 forthcoming 插件注入的灰标签。
   用 :has() 限定作用域，普通稿件不受影响。 */
article.obj_article_details:has(.snx-aop-label) + .forthcomingLabel,
article.obj_article_details:has(.snx-aop-label) ~ .forthcomingLabel {
    display: none !important;
}

/* 兜底：Forthcoming 标签若位于 article 之前（实际结构如此），
   通过 body 级 :has 再压一次 */
body:has(.snx-aop-label) .forthcomingLabel {
    display: none !important;
}

/* [SNX-AOP] DOI 旁的 Published online 标注 */
.snx-published-online {
    margin-top: 8px;
    font-size: 13px;
    color: #4A3A6B;
    font-weight: 600;
}

/* Editorial Note 与标题之间的呼吸感（标题 margin 常为 0） */
.obj_article_details .page_title + .editorial-note,
.obj_article_details .page_title + .subtitle + .editorial-note {
    margin-top: 16px;
}

/* Editorial Note 与下方作者区的间距，确保 1.7 行高下仍清晰可分 */
.obj_article_details .invited-note + .row {
    margin-top: 8px;
}

/* ==========================================================================
   [SNX-NO-BLUE] 内容区链接 / 按钮统一为品牌紫
   --------------------------------------------------------------------------
   背景：主题默认 @primary 为亮蓝 #006798，部分核心模板（面包屑、引用工具、
   侧栏条目等）仍继承该色，与紫金品牌色系冲突。

   作用域刻意限定在浅色内容容器内（.pkp_structure_main / .pkp_structure_side /
   .obj_article_details / footer），**不写裸 `a` 全局选择器** ——
   否则会把深紫头部（#4A3A6B 底）与页脚里的白字链接一并染成紫字，直接不可读。

   对比度：#4A3A6B on #FFFFFF = 9.96:1；悬停 #3B2E57 = 13.3:1
   ========================================================================== */

.pkp_structure_main a:not(.btn):not([class*="badge"]),
.pkp_structure_side a:not(.btn):not([class*="badge"]),
.obj_article_details a:not(.btn):not([class*="badge"]),
.cmp_breadcrumbs a,
.cmp_manuscript_galleys a {
    color: #4A3A6B;
}

.pkp_structure_main a:not(.btn):hover,
.pkp_structure_main a:not(.btn):focus,
.pkp_structure_side a:not(.btn):hover,
.pkp_structure_side a:not(.btn):focus,
.obj_article_details a:not(.btn):hover,
.obj_article_details a:not(.btn):focus,
.cmp_breadcrumbs a:hover,
.cmp_breadcrumbs a:focus {
    color: #3B2E57;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* 主按钮：蓝底 -> 品牌紫底 */
.btn-primary,
.badge-info {
    background-color: #4A3A6B !important;
    border-color: #4A3A6B !important;
    color: #FFFFFF !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #3B2E57 !important;
    border-color: #3B2E57 !important;
    color: #FFFFFF !important;
}

/* 文本型按钮（btn-link）与 Bootstrap 语义色类 */
.btn-link,
.text-primary {
    color: #4A3A6B !important;
}

.btn-link:hover,
.btn-link:focus {
    color: #3B2E57 !important;
}

/* 头部 / 页脚等深色区域保护：维持白字，避免被上面规则误染 */
.main-header a,
.app__header a,
.pkp_navigation_primary_row a,
.site-footer a,
article.obj_article_details .page_title a {
    color: inherit;
}

/* ==========================================================================
   [SNX-FIX-GALLEY] 修正粉盒按钮（PDF / galley）文字与背景同色导致不可见的缺陷
   --------------------------------------------------------------------------
   成因：上面 [SNX-NO-BLUE] 的 `a:not(.btn)` 规则命中了 galley 链接
   （其 class 为 obj_galley_link，并非 .btn），把文字刷成 #4A3A6B，
   而该按钮本身背景也是 #4A3A6B —— 紫底紫字，视觉上等于文字消失。

   修复：galley 链接视为按钮，强制白字 + 紫底，并排除在通用链接染色之外。
   ========================================================================== */

.obj_article_details a.obj_galley_link,
.obj_article_details a.obj_galley_link:link,
.obj_article_details a.obj_galley_link:visited,
.obj_article_details a.obj_galley_link:hover,
.obj_article_details a.obj_galley_link:focus,
a.obj_galley_link.pdf,
a.obj_galley_link.pdf:link,
a.obj_galley_link.pdf:visited {
    color: #FFFFFF !important;
    background-color: #4A3A6B !important;
    border-color: #4A3A6B !important;
    text-decoration: none !important;
}

.obj_article_details a.obj_galley_link:hover,
.obj_article_details a.obj_galley_link:focus,
a.obj_galley_link.pdf:hover,
a.obj_galley_link.pdf:focus {
    background-color: #3B2E57 !important;
    border-color: #3B2E57 !important;
    color: #FFFFFF !important;
}

/* ==========================================================================
   [SNX-JIIL-HOME] JIIL 期刊主页重构 —— 对齐 Springer Nature 期刊主页布局
   --------------------------------------------------------------------------
   作用域：全部以 .snx-home 或 .page_index_journal 前缀限定，不影响其它页面。
   数据：Key facts / 三栏页脚 中的 ISSN、DOI 前缀、出版社均来自 journal_settings
        真实值；Indexing 状态按实际进度标注（DOAJ = Application in progress）。

   布局：全宽流式，无侧栏。section 顺序：
     Hero → Key facts → Aims & Scope → Indexing → Current Issue → Announcements
   ========================================================================== */

/* 全宽容器：解除主题的两栏栅格约束 */
.page_index_journal .pkp_structure_content.has_sidebar {
    display: block !important;
}

.snx-home {
    --snx-ink: #1F2937;
    --snx-ink-soft: #4B5563;
    --snx-muted: #6B7280;
    --snx-brand: #4A3A6B;
    --snx-brand-dark: #3B2E57;
    --snx-accent: #D4AF37;
    --snx-line: #E5E7EB;
    --snx-bg-soft: #F8F9FA;
    --snx-bg-tint: #F3E8FF;

    width: 100%;
    color: var(--snx-ink);
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* 统一内宽：Springer 式居中栏 */
.snx-wrap {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   1. HERO
   -------------------------------------------------------------------------- */
.snx-hero {
    background: linear-gradient(160deg, #FFFFFF 0%, #F7F4FC 100%);
    border-bottom: 1px solid var(--snx-line);
    padding: 56px 0 48px;
}

.snx-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}

.snx-hero__eyebrow {
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--snx-brand);
}

.snx-hero__title {
    margin: 0 0 18px;
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--snx-ink);
}

.snx-hero__tagline {
    margin: 0 0 28px;
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--snx-ink-soft);
    max-width: 58ch;
}

.snx-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* 按钮：实心 + 幽灵。刻意显式声明 color/background，
   避免被外层通用 a:color 规则染成与背景同色（上一轮 PDF 按钮的教训） */
.snx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 6px;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.snx-btn--primary,
.snx-btn--primary:link,
.snx-btn--primary:visited {
    background-color: var(--snx-brand);
    border-color: var(--snx-brand);
    color: #FFFFFF !important;
}

.snx-btn--primary:hover,
.snx-btn--primary:focus {
    background-color: var(--snx-brand-dark);
    border-color: var(--snx-brand-dark);
    color: #FFFFFF !important;
}

.snx-btn--ghost,
.snx-btn--ghost:link,
.snx-btn--ghost:visited {
    background-color: transparent;
    border-color: var(--snx-brand);
    color: var(--snx-brand) !important;
}

.snx-btn--ghost:hover,
.snx-btn--ghost:focus {
    background-color: var(--snx-brand);
    border-color: var(--snx-brand);
    color: #FFFFFF !important;
}

.snx-hero__visual img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 10px 30px -12px rgba(31, 41, 55, 0.25);
}

/* --------------------------------------------------------------------------
   2. KEY FACTS —— #F8F9FA 浅灰带，flex
   -------------------------------------------------------------------------- */
.snx-facts {
    background-color: #F8F9FA;
    border-bottom: 1px solid var(--snx-line);
    padding: 0;
}

.snx-facts__list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.snx-fact {
    flex: 1 1 0;
    min-width: 150px;
    padding: 22px 20px;
    border-right: 1px solid var(--snx-line);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.snx-fact:last-child {
    border-right: 0;
}

.snx-fact__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--snx-muted);
}

.snx-fact__value {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--snx-ink);
    line-height: 1.4;
}

/* --------------------------------------------------------------------------
   3/4/5/6. 通用 section 节奏
   -------------------------------------------------------------------------- */
.snx-section {
    padding: 56px 0;
    border-bottom: 1px solid var(--snx-line);
}

.snx-section:last-of-type {
    border-bottom: 0;
}

.snx-section__head {
    margin-bottom: 28px;
}

.snx-section__head--row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.snx-section__title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--snx-ink);
    position: relative;
    padding-left: 14px;
}

/* 标题左侧品牌竖条，建立视觉锚点 */
.snx-section__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.22em;
    bottom: 0.22em;
    width: 4px;
    border-radius: 2px;
    background: var(--snx-brand);
}

.snx-section__sub {
    margin: 8px 0 0;
    font-size: 0.9375rem;
    color: var(--snx-muted);
    line-height: 1.6;
}

.snx-link-more,
.snx-link-more:link,
.snx-link-more:visited {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--snx-brand) !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.snx-link-more:hover,
.snx-link-more:focus {
    color: var(--snx-brand-dark) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Aims & Scope 正文 */
.snx-aims__body .snx-prose p,
.snx-aims__body > p {
    margin: 0 0 16px;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--snx-ink-soft);
    max-width: 78ch;
}

.snx-aims__body > p:last-child {
    margin-bottom: 0;
}

.snx-aims__more {
    margin: 22px 0 0;
}

.snx-aims__more a,
.snx-aims__more a:link,
.snx-aims__more a:visited {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--snx-brand) !important;
    text-decoration: none !important;
}

.snx-aims__more a:hover,
.snx-aims__more a:focus {
    color: var(--snx-brand-dark) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   4. INDEXING —— 十字网格小卡片，灰色边框
   -------------------------------------------------------------------------- */
.snx-index-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.snx-index-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 18px;
    border: 1px solid var(--snx-line);
    border-radius: 6px;
    background-color: #FFFFFF;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.snx-index-card:hover {
    border-color: #C9CDD4;
    box-shadow: 0 2px 10px -4px rgba(31, 41, 55, 0.12);
}

.snx-index-card__name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--snx-ink);
}

.snx-index-card__meta {
    font-size: 0.75rem;
    color: var(--snx-muted);
    line-height: 1.5;
}

/* 申请中/评估中：虚线边框 + 浅灰底，视觉上区分"已收录" */
.snx-index-card--pending {
    border-style: dashed;
    background-color: #FCFCFD;
}

.snx-index-card--pending .snx-index-card__name {
    color: var(--snx-ink-soft);
}

.snx-index-note {
    margin: 18px 0 0;
    font-size: 0.8125rem;
    color: var(--snx-muted);
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   5. CURRENT ISSUE —— 紧凑列表
   -------------------------------------------------------------------------- */
.snx-issue-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.snx-issue-group__title {
    margin: 0 0 12px;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--snx-muted);
}

.snx-issue-items {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--snx-line);
}

.snx-issue-item {
    padding: 18px 0;
    border-bottom: 1px solid var(--snx-line);
}

.snx-issue-item__title {
    margin: 0 0 8px;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.45;
}

.snx-issue-item__title a,
.snx-issue-item__title a:link,
.snx-issue-item__title a:visited {
    color: var(--snx-ink) !important;
    text-decoration: none !important;
}

.snx-issue-item__title a:hover,
.snx-issue-item__title a:focus {
    color: var(--snx-brand) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.snx-issue-item__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    color: var(--snx-muted);
}

.snx-issue-item__authors {
    color: var(--snx-ink-soft);
}

.snx-issue-item__type {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    background-color: var(--snx-bg-tint);
    color: var(--snx-brand);
    font-size: 0.75rem;
    font-weight: 600;
}

.snx-issue-item__date {
    color: var(--snx-muted);
    font-variant-numeric: tabular-nums;
}

.snx-empty {
    margin: 0;
    font-size: 0.9375rem;
    color: var(--snx-muted);
}

/* --------------------------------------------------------------------------
   6. ANNOUNCEMENTS
   -------------------------------------------------------------------------- */
.snx-announce {
    background-color: #FCFCFD;
}

.snx-announce-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--snx-line);
}

.snx-announce-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 20px;
    padding: 18px 0;
    border-bottom: 1px solid var(--snx-line);
}

.snx-announce-item__date {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--snx-muted);
    font-variant-numeric: tabular-nums;
    padding-top: 2px;
}

.snx-announce-item__title {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
}

.snx-announce-item__title a,
.snx-announce-item__title a:link,
.snx-announce-item__title a:visited {
    color: var(--snx-ink) !important;
    text-decoration: none !important;
}

.snx-announce-item__title a:hover,
.snx-announce-item__title a:focus {
    color: var(--snx-brand) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.snx-announce-item__excerpt {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--snx-ink-soft);
    max-width: 80ch;
}

/* 后台附加首页内容：收敛内边距，避免与外层 section 双份留白 */
.snx-extra .snx-wrap > div {
    margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   7. 三栏页脚（覆盖 OJS 默认页脚区）
   -------------------------------------------------------------------------- */
.snx-footer {
    background-color: #2F2647;
    color: #E5E7EB;
    padding: 48px 0 28px;
    margin-top: 0;
}

.snx-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 44px;
}

.snx-footer__title {
    margin: 0 0 16px;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #FFFFFF;
}

.snx-footer__name {
    margin: 0 0 10px;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.4;
}

.snx-footer p {
    margin: 0 0 8px;
    font-size: 0.875rem;
    line-height: 1.7;
    color: #D1D5DB;
}

.snx-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.snx-footer__list li {
    margin-bottom: 10px;
}

.snx-footer a,
.snx-footer a:link,
.snx-footer a:visited {
    font-size: 0.875rem;
    color: #E5E7EB !important;
    text-decoration: none !important;
}

.snx-footer a:hover,
.snx-footer a:focus {
    color: #FFFFFF !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.snx-footer__bottom {
    margin-top: 36px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 0.8125rem;
    color: #9CA3AF;
}

/* --------------------------------------------------------------------------
   8. 响应式
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
    .snx-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .snx-hero__title {
        font-size: 2rem;
    }

    .snx-index-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .snx-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
    }

    .snx-fact {
        flex: 1 1 45%;
    }
}

@media (max-width: 767px) {
    .snx-wrap {
        padding: 0 18px;
    }

    .snx-hero {
        padding: 36px 0 32px;
    }

    .snx-hero__title {
        font-size: 1.625rem;
    }

    .snx-hero__tagline {
        font-size: 1rem;
    }

    .snx-section {
        padding: 40px 0;
    }

    .snx-section__title {
        font-size: 1.25rem;
    }

    /* Key facts 移动端改为两列网格，避免 flex 挤压 */
    .snx-facts__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .snx-fact {
        border-right: 0;
        border-bottom: 1px solid var(--snx-line);
        padding: 16px;
    }

    .snx-fact:nth-child(odd) {
        border-right: 1px solid var(--snx-line);
    }

    .snx-index-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .snx-announce-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .snx-footer__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .snx-btn {
        width: 100%;
    }

    .snx-hero__actions {
        gap: 10px;
    }
}

/* ==========================================================================
   [SNX-JIIL-HOME · FULLWIDTH] 解除主题的固定像素容器与两栏浮动
   --------------------------------------------------------------------------
   根因（读 default/styles/body.less 确认）：
     .pkp_structure_content 在 >=desktop 时被写死为 @screen-desktop-container
     （= 屏幕断点 - 40px 的固定 px），且 .pkp_structure_main 有 float:left +
     width: 容器 - 300px（侧栏宽度）。此时即便 has_sidebar 里的侧栏 DOM 已移除，
     主内容仍只占「容器 - 300」的宽度，右侧留出大片空白。

   解法：把容器改为 width:100% 流式，主栏去 float、占满 100%，
   并在内层用 .snx-wrap 控制 1180px 的阅读宽度。
   ========================================================================== */

/* 容器：由固定 px 改为流式全宽 */
.page_index_journal .pkp_structure_content,
.page_index_journal .pkp_structure_content.has_sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* 主栏：去浮动、去侧栏宽度扣减 */
.page_index_journal .pkp_structure_main {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.page_index_journal .pkp_structure_main:after {
    display: none !important;
}

/* 页面外壳同样去约束 */
.page_index_journal,
.page_index_journal .page_index_journal,
.snx-home {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   [SNX-JIIL-HOME · SCOPE-FIX] 修正全宽规则的作用域选择器
   --------------------------------------------------------------------------
   问题根因（已核实 DOM 结构）：
     之前的写法 `.page_index_journal .pkp_structure_content` 完全无效——
     因为 .page_index_journal 位于 .pkp_structure_main **内部**，
     而不是 .pkp_structure_content 的祖先，祖先选择器永远匹配不到。
     而 body 的类是 `pkp_page_index pkp_op_index`，站点首页（/index.php/index）
     用的是同一组类，所以也不能直接用 body 类来区分期刊主页。

   解法：用 body:has(.snx-home) —— 只有渲染了本模板（含 .snx-home 容器）
   的页面才会命中，站点首页与文章页都不受影响。
   ========================================================================== */

body:has(.snx-home) .pkp_structure_content,
body:has(.snx-home) .pkp_structure_content.has_sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    float: none !important;
}

body:has(.snx-home) .pkp_structure_main {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body:has(.snx-home) .pkp_structure_main:after {
    display: none !important;
}

/* 页面外壳（.page_index_journal）自身也去掉宽度约束 */
body:has(.snx-home) .page_index_journal {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.snx-home) .snx-home {
    width: 100% !important;
    max-width: 100% !important;
}

/* ==========================================================================
   [SNX-JIIL-HOME · EXTRA] 附加首页内容折叠区
   --------------------------------------------------------------------------
   后台 additionalHomeContent 有 15KB（发刊词 + 政策长文），全量铺开会把
   三栏页脚推到十几屏之后。改用 <details> 折叠，默认收起，内容零删减。
   ========================================================================== */

.snx-extra {
    padding: 40px 0;
    background-color: #FCFCFD;
    border-bottom: 1px solid var(--snx-line);
}

.snx-extra__details {
    border: 1px solid var(--snx-line);
    border-radius: 8px;
    background-color: #FFFFFF;
    padding: 0;
    overflow: hidden;
}

.snx-extra__summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 22px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    color: var(--snx-ink);
    list-style: none;
    user-select: none;
    transition: background-color .18s ease;
}

.snx-extra__summary::-webkit-details-marker {
    display: none;
}

/* 自绘展开箭头，避免各浏览器默认三角大小不一 */
.snx-extra__summary::before {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--snx-brand);
    border-bottom: 2px solid var(--snx-brand);
    transform: rotate(-45deg);
    transition: transform .2s ease;
    flex: 0 0 auto;
    margin-left: 2px;
}

.snx-extra__details[open] .snx-extra__summary::before {
    transform: rotate(45deg);
}

.snx-extra__summary:hover {
    background-color: #FAFAFB;
}

.snx-extra__body {
    padding: 0 22px 24px;
    border-top: 1px solid var(--snx-line);
    /* 长文内部自带圆角卡片与负边距，统一收敛，避免溢出容器 */
    overflow-wrap: anywhere;
}

/* 内部原有卡片带有 32px 圆角与 40px 外边距，此处压缩首尾留白 */
.snx-extra__body > div {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    border-radius: 12px !important;
    padding: 20px 16px !important;
}

.snx-extra__body img {
    max-width: 100%;
    height: auto;
}

/* ==========================================================================
   [SNX-JIIL-HOME · OVERFLOW] 修复窄屏横向溢出
   --------------------------------------------------------------------------
   现象：移动端（390px）标题与正文被右侧裁切，页面出现横向滚动。
   成因：全宽化时给容器写了 `width:100% !important` 且 padding 归零，
        但内部仍有长英文单词/表格/内联块超出；同时 body 未声明 overflow-x。
   解法：容器允许换行、长词强制断行，body 纵向锁定横向滚动。
   ========================================================================== */

body:has(.snx-home) {
    overflow-x: hidden;
}

body:has(.snx-home) .pkp_structure_content,
body:has(.snx-home) .pkp_structure_main,
body:has(.snx-home) .snx-home {
    max-width: 100vw !important;
    overflow-x: clip;
}

/* 所有文本块允许在必要时断开长词，杜绝溢出 */
.snx-home h1,
.snx-home h2,
.snx-home h3,
.snx-home p,
.snx-home li,
.snx-home a,
.snx-home summary {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}

/* 网格/弹性子项默认 min-width:auto 会撑破容器，统一压到 0 */
.snx-home .snx-hero__inner > *,
.snx-home .snx-footer__grid > *,
.snx-home .snx-index-grid > *,
.snx-home .snx-announce-item > *,
.snx-home .snx-fact {
    min-width: 0;
}

/* Hero 图片与内联媒体不超出视口 */
.snx-home img,
.snx-home iframe,
.snx-home table {
    max-width: 100%;
}

/* 附加内容里存在宽表格，窄屏改为可横滚的独立容器，不影响整页 */
.snx-extra__body table {
    display: block;
    width: 100%;
    overflow-x: auto;
}

@media (max-width: 767px) {
    /* 窄屏恢复合理内边距，避免文字贴边 */
    body:has(.snx-home) .pkp_structure_main {
        padding: 0 !important;
    }

    .snx-home .snx-wrap {
        padding-left: 16px;
        padding-right: 16px;
    }

    .snx-hero__title {
        overflow-wrap: anywhere;
    }
}

/* ==========================================================================
   [SNX-JIIL-HOME · BOX] 宽度计算修正 —— 解决窄屏内容超出视口被裁切
   --------------------------------------------------------------------------
   根因：重复声明 `width:100% !important` 的同时又设了左右 padding，
        在未统一 box-sizing 的链路上会出现「内容宽度 + 左右内边距 > 视口」，
        导致右侧文字被裁、页面可横向滚动。
   解法：对首页所有相关容器统一 border-box，并显式约束 width 为 100%
        （不含 padding 额外累加）。
   ========================================================================== */

.snx-home,
.snx-home *,
.snx-home *::before,
.snx-home *::after {
    box-sizing: border-box;
}

body:has(.snx-home) .pkp_structure_content,
body:has(.snx-home) .pkp_structure_main,
body:has(.snx-home) .page_index_journal,
body:has(.snx-home) .snx-home {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.snx-home .snx-wrap {
    width: 100% !important;
    max-width: 1180px !important;
    box-sizing: border-box;
}

@media (max-width: 1023px) {
    .snx-home .snx-wrap {
        max-width: 100% !important;
    }
}

/* ==========================================================================
   [SNX-JIIL-HOME · FACTS] Key-facts 窄屏溢出修正
   --------------------------------------------------------------------------
   根因：.snx-fact 带 min-width:150px。390px 视口下两列 = 300px，
        叠加 .snx-wrap 左右 padding 与卡片内 padding 后超出视口，
        整个页面被撑宽 → 右侧文字被裁。
   解法：窄屏取消 min-width，改为按可用宽度自适应两列。
   ========================================================================== */

@media (max-width: 767px) {
    .snx-home .snx-fact {
        min-width: 0 !important;
        width: auto !important;
        padding: 14px 12px !important;
    }

    .snx-home .snx-facts__list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;
    }

    .snx-home .snx-fact__value {
        font-size: 0.875rem;
        overflow-wrap: break-word;
    }

    /* 移动端 Hero 图片不设最小宽度，完全跟随容器 */
    .snx-home .snx-hero__visual img {
        width: 100%;
        max-width: 100%;
    }
}

/* 极窄屏（<=400px）改为单列，避免任何挤压 */
@media (max-width: 400px) {
    .snx-home .snx-facts__list {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .snx-home .snx-fact {
        border-right: 0 !important;
    }
}/* ==========================================================================
   [SNX-AOP-ISSUE] 文章页侧栏 Issue 区块的 AOP 态（由 inject_spring_design.py 注入）
   --------------------------------------------------------------------------
   AOP 稿件不应显示 Vol.X No.Y 与页码（尚未编入正式卷期）。
   模板在 AOP 判定为真时改输出「Advance Online Publication + Published online」。
   重复执行本脚本会整段替换，不会叠加。
   ========================================================================== */

.snx-aop-issue-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #4A3A6B;
    background: #F3E8FF;
    padding: 3px 9px;
    border-radius: 4px;
    line-height: 1.5;
}

.snx-aop-issue-date {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    color: #4B5563;
    line-height: 1.6;
}
/* ==================== END SNX-AOP-ISSUE ==================== */

/* ==========================================================================
   [SNX-SPRING] Spring Nature 设计系统 —— 纯 CSS（由后台 Custom Stylesheet 管理）
   --------------------------------------------------------------------------
   设计原则（与之前的破坏性注入区别）：
     1. 只定义「新类」，不写裸标签选择器，不覆盖 .pkp_structure_* 布局骨架；
     2. 不使用 !important 强改主题栅格 —— 这是上次样式错乱的根源；
     3. 颜色统一走品牌紫 #4A3A6B，正文 #1F2937，辅助 #6B7280，分割线 #F3F4F6；
     4. 作用域限定在 .snx-spring 容器内，避免外溢到其它页面。

   若页面未包裹 .snx-spring，下列类仍可独立使用（不依赖父级）。
   ========================================================================== */

:root {
    --snx-purple: #4A3A6B;
    --snx-purple-dark: #3B2E57;
    --snx-ink: #1F2937;
    --snx-muted: #6B7280;
    --snx-line: #F3F4F6;
    --snx-bg-soft: #F8F9FA;
    --snx-tint: #F3E8FF;
    --snx-gold: #D4AF37;
}

/* ---------- 首页 Hero ---------- */
.homepage-header {
    background: linear-gradient(135deg, #4A3A6B 0%, #3B2E57 55%, #2F2647 100%);
    color: #FFFFFF;
    padding: 48px 24px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 32px;
}

.homepage-header h1,
.homepage-header h2 {
    color: #FFFFFF;
    margin: 0 0 12px;
    font-weight: 700;
    line-height: 1.3;
}

.homepage-header p {
    color: rgba(255, 255, 255, 0.86);
    margin: 0;
    line-height: 1.7;
}

/* ---------- 关键信息卡 ---------- */
.fact-card {
    display: inline-block;
    vertical-align: top;
    min-width: 180px;
    margin: 8px;
    padding: 16px 18px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-left: 4px solid var(--snx-purple);
    border-radius: 6px;
    box-shadow: 0 1px 6px rgba(74, 58, 107, 0.07);
    transition: box-shadow 0.18s ease, border-color 0.18s ease;
}

.fact-card:hover {
    box-shadow: 0 4px 16px rgba(74, 58, 107, 0.13);
}

.fact-card .label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--snx-muted);
    margin-bottom: 6px;
}

.fact-card .value {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--snx-ink);
    line-height: 1.4;
}

/* ---------- Indexing 网格 ---------- */
.indexing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.index-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: var(--snx-tint);
    border: 1px solid rgba(74, 58, 107, 0.12);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--snx-purple);
    line-height: 1.4;
}

/* 申请中状态：虚线区分 */
.index-badge.pending {
    background: #FCFCFD;
    border-style: dashed;
    border-color: #D1D5DB;
    color: var(--snx-muted);
}

/* ---------- 其他通用小件 ---------- */
.inaugural-editorial {
    background: #FAF8FC;
    border: 1px solid #E8E0F0;
    border-radius: 8px;
    padding: 24px;
    margin: 24px 0;
}

.corresponding-mark {
    color: var(--snx-purple);
    font-weight: 700;
    margin-left: 2px;
    vertical-align: super;
}

/* 元数据与分割线 */
.snx-meta-line {
    font-size: 13px;
    color: var(--snx-muted);
    line-height: 1.7;
}

.snx-divider {
    height: 1px;
    background: var(--snx-line);
    border: 0;
    margin: 24px 0;
}

/* ---------- 移动端 ---------- */
@media (max-width: 640px) {
    .homepage-header {
        padding: 32px 18px;
        border-radius: 0;
        margin-bottom: 24px;
    }

    .fact-card {
        display: block;
        min-width: 0;
        margin: 8px 0;
    }

    .indexing-grid {
        grid-template-columns: 1fr;
    }
}


/* --- Long URL wrap fix in article references (pkp_page_article) --- */
.pkp_page_article .obj_article_details p,
.pkp_page_article .entry_details p {
    overflow-wrap: break-word !important;
    word-break: break-all !important;
    margin-bottom: 20px !important;
}
.pkp_page_article .obj_article_details p a,
.pkp_page_article .entry_details p a {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-all !important;
    display: inline-block !important;
}

/* ============================================================ */
/* Springer Nature-style article bottom section                 */
/* Applied to: author info, competing interests, DOI, keywords  */
/* ============================================================ */

/* ========== Author Section ========== */
article .section.authors-list,
article .authordiv {
    padding: 1rem 0 0.5rem;
    border-bottom: 1px solid #e8e8e8;
}

/* 作者名 - 大号加粗黑色 */
.authors-list li .author-name,
.authordiv h3,
ul.authors-list li .name {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 0.25rem 0 !important;
    display: block;
}

/* 机构名 - 较小字号深灰色 */
.affiliation span,
.authors-list li .affiliation,
.authordiv .affiliation {
    font-size: 0.9rem !important;
    color: #555555 !important;
    margin: 0 0 0.5rem 0 !important;
    display: block;
}

/* ROR SVG 图标缩小 */
.affiliation a svg {
    width: 1rem !important;
    height: 1rem !important;
    vertical-align: middle;
    margin-left: 0.35rem;
    opacity: 0.6;
}

/* Author 标签 - 小号灰色大写字母 */
.userGroup,
.authors-list li .userGroup,
.label.authordiv {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #999999 !important;
    font-weight: 500 !important;
    display: inline-block;
    margin-top: 0.25rem;
}

/* ========== Competing Interests ========== */
.ciStatement {
    margin: 0.75rem 0 !important;
    padding: 0.6rem 0.75rem !important;
    background: #fafafa !important;
    border-radius: 4px !important;
    border-left: 3px solid #dcdcdc !important;
}

.ciStatementLabel {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #777777 !important;
    font-weight: 600 !important;
    margin: 0 0 0.25rem 0 !important;
}

.ciStatementContents p {
    font-size: 0.9rem !important;
    color: #333333 !important;
    margin: 0 !important;
    font-weight: 400 !important;
}

/* ========== DOI Section ========== */
.item.doi,
.section.doi,
.authordiv .doi {
    margin: 0.75rem 0 !important;
    padding: 0 !important;
    border: none !important;
}

.item.doi .label,
.section.doi .label,
.authordiv .doi h2 {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #777777 !important;
    font-weight: 600 !important;
    margin: 0 0 0.3rem 0 !important;
    display: block;
}

.item.doi .value a,
.section.doi .value a,
.authordiv .doi a {
    font-size: 0.95rem !important;
    color: #0066cc !important;
    text-decoration: underline !important;
    text-decoration-color: #b3d4fc !important;
    font-weight: 500 !important;
    word-break: break-all !important;
    transition: color 0.15s ease !important;
}

.item.doi .value a:hover,
.section.doi .value a:hover,
.authordiv .doi a:hover {
    color: #004499 !important;
    text-decoration-color: #0066cc !important;
}

/* ========== Keywords Section ========== */
.item.keywords,
.section.keywords {
    margin: 0.5rem 0 !important;
    padding: 0 !important;
}

.item.keywords .label,
.section.keywords .label {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #777777 !important;
    font-weight: 600 !important;
    margin: 0 0 0.3rem 0 !important;
}

.item.keywords .value,
.section.keywords .value {
    font-size: 0.875rem !important;
    color: #444444 !important;
    line-height: 1.6 !important;
}

.item.keywords .value a,
.section.keywords .value a {
    color: #0066cc !important;
    text-decoration: none !important;
    border-bottom: 1px dashed #b3d4fc !important;
}

.item.keywords .value a:hover,
.section.keywords .value a:hover {
    color: #004499 !important;
    border-bottom-color: #0066cc !important;
}

/* ========== Abstract Label ========== */
.item.abstract .label,
.section.abstract .label {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin: 1rem 0 0.5rem 0 !important;
}

/* ========== Overall Compact Spacing ========== */
article .section.authors-list ul,
.authordiv ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

article .section.authors-list li,
.authordiv li {
    padding: 0.3rem 0 !important;
    border-bottom: none !important;
}

/* ========== Remove extra separators ========== */
.authordiv hr,
.authordiv .separator {
    display: none !important;
}

/* ========== Responsive for mobile ========== */
@media (max-width: 768px) {
    .authordiv h3,
    .authors-list li .name {
        font-size: 1rem !important;
    }
    
    .item.doi .value a,
    .section.doi .value a {
        font-size: 0.875rem !important;
    }
}


/* ============================================================
   [SNX-ARTICLE-HEADER] 文章页头部重构（状态徽章 / 标题 / 作者机构 / DOI 关键词 / 利益冲突）
   由 article_details.tpl 的 .snx-article-header 结构驱动
   ============================================================ */

.snx-article-header {
    margin: 0 0 40px 0;
    padding: 0;
    font-family: 'Merriweather Sans', 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- 1. 状态徽章 ---------- */
.snx-article-header .snx-aop-badge {
    display: inline-block;
    background: #F3E8FF;
    color: #4A3A6B;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin: 0 0 16px 0;
    text-transform: none;
}

/* ---------- 2. 标题 ---------- */
.obj_article_details .snx-article-header .snx-article-title,
.snx-article-header .snx-article-title {
    font-family: 'Merriweather', Georgia, 'Times New Roman', serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1F2937 !important;
    line-height: 1.4 !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    letter-spacing: -0.01em;
}

.snx-article-header .snx-article-subtitle {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 18px;
    font-weight: 400;
    color: #4B5563;
    line-height: 1.5;
    margin: -12px 0 24px 0;
}

/* ---------- 3. 作者与机构 ---------- */
.snx-article-header .snx-author-block {
    margin: 0 0 24px 0;
}

.snx-article-header .snx-authors-list {
    font-size: 16px;
    font-weight: 600;
    color: #1F2937;
    line-height: 1.7;
    margin: 0 0 8px 0;
}

.snx-article-header .snx-author-name {
    display: inline;
    white-space: normal;
}

.snx-article-header .snx-author-sep {
    color: #9CA3AF;
    font-weight: 400;
}

.snx-article-header .snx-aff-sup,
.snx-article-header .snx-author-name sup {
    font-size: 11px;
    color: #4A3A6B;
    font-weight: 700;
    margin-left: 2px;
    margin-right: 2px;
    vertical-align: super;
    line-height: 0;
}

.snx-article-header .snx-corresponding-mark {
    color: #4A3A6B !important;
    font-weight: bold !important;
    font-size: 16px;
    vertical-align: super;
    margin-left: 3px;
    cursor: help;
    line-height: 0;
}

/* 旧规则用 ::before 生成星形图标，会与模板里的 * 叠加，这里显式禁用 */
.snx-article-header .snx-corresponding-mark::before {
    content: none !important;
}

.snx-article-header .snx-affiliations-list {
    font-size: 14px;
    color: #4B5563;
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.snx-article-header .snx-aff-item {
    display: block;
    margin: 0 0 2px 0;
}

.snx-article-header .snx-corresponding-note {
    font-size: 12px;
    color: #6B7280;
    font-style: italic;
    line-height: 1.6;
    margin-top: 6px;
}

.snx-article-header .snx-corresponding-note .snx-corresponding-mark {
    font-style: normal;
    font-size: 14px;
}

/* ---------- 4. DOI 与关键词 ---------- */
.snx-article-header .snx-meta-block {
    padding: 16px 20px;
    background: #F9FAFB;
    border-left: 4px solid #4A3A6B;
    border-radius: 0 8px 8px 0;
    margin: 0 0 24px 0;
}

.snx-article-header .snx-meta-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.6;
}

.snx-article-header .snx-meta-row:last-child {
    margin-bottom: 0;
}

.snx-article-header .snx-meta-label {
    font-weight: 700;
    color: #374151;
    min-width: 80px;
    flex: 0 0 auto;
}

.snx-article-header .snx-doi-link {
    color: #4A3A6B !important;
    font-weight: 500;
    text-decoration: none !important;
    word-break: break-all;
}

.snx-article-header .snx-doi-link:hover {
    text-decoration: underline !important;
}

.snx-article-header .snx-keywords-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1 1 auto;
}

.snx-article-header .snx-keyword-tag {
    display: inline-block;
    background: #fff;
    border: 1px solid #E5E7EB;
    color: #4B5563;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 12.5px;
    line-height: 1.6;
    white-space: nowrap;
}

/* ---------- 5. 利益冲突 ---------- */
.snx-article-header .snx-competing-interests {
    font-size: 13px;
    color: #6B7280;
    padding: 12px 16px;
    background: #FEF2F2;
    border-left: 3px solid #EF4444;
    border-radius: 4px;
    line-height: 1.7;
}

.snx-article-header .snx-ci-line + .snx-ci-line {
    margin-top: 6px;
}

.snx-article-header .snx-competing-interests strong {
    color: #991B1B;
    font-weight: 700;
}

.snx-article-header .snx-competing-interests p {
    display: inline;
    margin: 0;
}

/* ---------- 屏幕阅读器文本（无障碍） ---------- */
.pkp_screen_reader {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ---------- 窄屏适配 ---------- */
@media (max-width: 767px) {
    .snx-article-header .snx-article-title {
        font-size: 22px !important;
    }
    .snx-article-header .snx-meta-row {
        flex-direction: column;
        gap: 4px;
    }
    .snx-article-header .snx-meta-label {
        min-width: 0;
    }
    .snx-article-header .snx-meta-block {
        padding: 14px 16px;
    }
}

/* ==================== END SNX-ARTICLE-HEADER ==================== */

/* ============================================================ */
/* Reference list paragraph spacing (add empty line between refs) */
/* ============================================================ */
.article-section-references .html-text p,
.references-list p,
.section.references p {
    margin-bottom: 1.2em !important;
}

/* ==========================================================================
   BEGIN [SNX-JIIL-MODULAR-REBUILD] · 首页模块化重组（后台 Custom Stylesheet）
   蓝本：70/30 Grid 双栏 + 基础卡片 + Merriweather 字体层级
   回滚：删除 BEGIN/END 之间整块即可
   ========================================================================== */

/* ---------- 任务1 · 蓝本原规则 ---------- */
@media (min-width: 992px) {
    body:has(.snx-home) .pkp_structure_content.has_sidebar { display: grid !important; grid-template-columns: 1fr 340px !important; gap: 48px !important; align-items: start !important; max-width: 1280px !important; margin: 0 auto !important; }
    body:has(.snx-home) .pkp_structure_sidebar.left { position: sticky !important; top: 24px !important; }
}

h1, h2, h3 { font-family: 'Merriweather', Georgia, serif !important; color: #1F2937 !important; }
body, p, li { font-family: 'Merriweather Sans', sans-serif !important; line-height: 1.7 !important; }

.pkp_structure_main > section { background: #fff; border: 1px solid #E5E7EB; border-radius: 12px; padding: 32px; margin-bottom: 32px; box-shadow: 0 2px 10px rgba(0,0,0,0.02); }
.pkp_structure_main h2 { border-bottom: 2px solid #4A3A6B; padding-bottom: 12px; margin-bottom: 24px; font-size: 22px; }

.pkp_block { background: #fff !important; border: 1px solid #E5E7EB !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; }
.pkp_block h3 { font-size: 16px !important; margin-bottom: 16px !important; border-bottom: 1px solid #F3F4F6 !important; padding-bottom: 8px !important; }

/* ---------- 作用域适配：让双栏在真实 DOM 上真正生效 ----------
   现状：首页已有 snx-* 全宽系统，其中
   `body:has(.snx-home) .pkp_structure_content { display:block !important }`
   特异性 (0,2,1) 高于蓝本 `.pkp_structure_content.has_sidebar` (0,2,0)，
   会把 grid 压住。这里提升特异性并限定 .snx-home，只影响期刊首页，
   文章页 / 站点页排版保持原样。 */
@media (min-width: 992px) {
    body:has(.snx-home) .pkp_structure_content.has_sidebar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 340px !important;
        gap: 48px !important;
        align-items: start !important;
        max-width: 1280px !important;
        margin: 0 auto !important;
        padding: 0 24px !important;
    }
    body:has(.snx-home) .pkp_structure_main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
    }
    body:has(.snx-home) .pkp_structure_sidebar.left {
        position: sticky !important;
        top: 24px !important;
        float: none !important;
        width: 340px !important;
        max-width: 340px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* 主内容区真实 DOM：section 位于 .snx-home 内，蓝本 > section 选择器不命中 */
body:has(.snx-home) .snx-home > section.snx-section {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 32px;
    margin: 0 auto 32px;
    max-width: 100%;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}
/* Hero / Key facts 保留原有全宽视觉，不套白卡 */
body:has(.snx-home) .snx-home > section.snx-hero,
body:has(.snx-home) .snx-home > section.snx-facts {
    background: none;
    border: 0;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
}
body:has(.snx-home) .snx-section h2 {
    border-bottom: 2px solid #4A3A6B;
    padding-bottom: 12px;
    margin-bottom: 24px;
    font-size: 22px;
}

/* ---------- 保护块：蓝本的全局 !important 不得改写紫色页脚 ---------- */
.site-footer p, .site-footer li, .site-footer span, .site-footer div,
.site-footer h1, .site-footer h2, .site-footer h3 {
    color: inherit !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}
.site-footer a { color: rgba(255,255,255,0.95) !important; }

/* 折叠按钮 / 折叠容器（配合 Custom Footer 注入的 JS） */
.editorial-collapsed { transition: max-height .25s ease; }
.read-more-btn { display: inline-block; font-family: 'Inter', system-ui, sans-serif !important; }
.read-more-btn:hover { background: #E9D5FF !important; }


/* ---------- 列位修正：grid 自动放置会把主栏塞进窄列，必须显式指定 ---------- */
@media (min-width: 992px) {
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .pkp_structure_main {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start !important;
    }
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .pkp_structure_sidebar.left {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 100% !important;
        max-width: 340px !important;
    }
}


/* ---------- 移动端：页脚 4 列 grid 溢出修复（inline style 需 !important 覆盖） ---------- */
@media (max-width: 767px) {
    .site-footer .footer-container { padding: 0 20px !important; }
    .site-footer .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        margin-bottom: 28px !important;
    }
    .site-footer .footer-col { min-width: 0 !important; }
}

/* ==========================================================================
   END [SNX-JIIL-MODULAR-REBUILD]
   ========================================================================== */

/* ==========================================================================
   [SNX-FOOTER-TIGHTEN] 紫色页脚留白收紧（2026-11-03）
   成因实测：.site-footer 的 margin-top:auto 在 flex 父容器里被解析为 60px
   空紫带；再叠加 48/24 padding 与 .pkp_footer_content 的 30/30 padding，
   紫色顶带到首行文字之间约有 139px 空白。
   ========================================================================== */
footer.site-footer,
.pkp_structure_footer_wrapper,
.pkp_structure_footer {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    min-height: 0 !important;
    height: auto !important;
}

/* margin-top:auto → 0：消灭 wrapper 内部的 60px 透明外边距空紫带；
   wrapper 已提供 24px 顶距，footer 自身不再叠加 padding */
footer.site-footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.pkp_footer_content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 页脚内部容器不再被撑开 */
.site-footer .footer-grid {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

/* 消除文章页侧边栏可能存在的多余高度 */
.pkp_structure_sidebar.left {
    min-height: 0 !important;
    height: auto !important;
}

@media (max-width: 768px) {
    .pkp_structure_content.has_sidebar { margin-bottom: 0 !important; }
}

/* ==========================================================================
   [SNX-AOP-HEADER-EXTRAS] 特邀稿头部扩展：AOP 时间线 + Editorial Note + 底部利益冲突
   时间线/声明框仅对特邀稿件渲染（article_details.tpl 中以 $snxIsInvited gate）
   ========================================================================== */

/* ---------- 1. AOP 水平时间线（Received → Accepted → Published Online） ---------- */
.snx-aop-timeline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0 0 18px 0;
    padding: 14px 18px;
    background: #F8F6FC;
    border: 1px solid #E5E0F0;
    border-radius: 8px;
    font-family: 'Merriweather Sans', 'Helvetica Neue', Arial, sans-serif;
}
.snx-aop-timeline .snx-timeline-step {
    display: flex;
    flex-direction: column;
    gap: 2px;
    position: relative;
    padding-left: 14px;
}
.snx-aop-timeline .snx-timeline-step::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #D1D5DB;
}
.snx-aop-timeline .snx-timeline-step.active::before {
    background: #4A3A6B;
    box-shadow: 0 0 0 3px rgba(74, 58, 107, 0.18);
}
.snx-aop-timeline .snx-timeline-label {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #6B7280;
    line-height: 1.4;
}
.snx-aop-timeline .snx-timeline-date {
    font-size: 13.5px;
    font-weight: 600;
    color: #374151;
    line-height: 1.4;
    white-space: nowrap;
}
.snx-aop-timeline .snx-timeline-step.active .snx-timeline-label,
.snx-aop-timeline .snx-timeline-step.active .snx-timeline-date {
    color: #4A3A6B;
}
.snx-aop-timeline .snx-timeline-arrow {
    color: #9CA3AF;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}
@media (max-width: 767px) {
    .snx-aop-timeline { gap: 8px 10px; padding: 12px 14px; }
    .snx-aop-timeline .snx-timeline-arrow { font-size: 13px; }
    .snx-aop-timeline .snx-timeline-date { font-size: 12.5px; }
}

/* ---------- 2. 特邀声明框（用户指定样式） ---------- */
.snx-editorial-note {
    background: #F8F6FC; border-left: 4px solid #4A3A6B;
    padding: 16px 20px; margin: 0 0 24px 0; border-radius: 0 8px 8px 0;
    font-size: 14px; color: #4B5563; line-height: 1.7;
}
.snx-editorial-note strong { color: #4A3A6B; }

/* ---------- 3. 利益冲突（底部灰字，替代原头部红色块） ---------- */
.snx-ci-footer {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.7;
    padding-top: 12px;
    margin: 16px 0 0 0;
    border-top: 1px solid #E5E7EB;
    font-family: 'Merriweather Sans', 'Helvetica Neue', Arial, sans-serif;
}
.snx-ci-footer .snx-ci-footer-line strong { color: #4B5563; font-weight: 700; }
.snx-ci-footer .snx-ci-footer-line p { display: inline; margin: 0; }

/* ==================== END SNX-AOP-HEADER-EXTRAS ==================== */

/* BEGIN [SNX-JIIL-INDEXING-REBUILD] Indexing & Abstracting — Springer 极简双列，作用域隔离 */
.jiil-indexing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 32px;
    margin-top: 16px;
    margin-bottom: 24px;
}
.jiil-indexing-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #374151 !important;
    padding-bottom: 8px;
    border-bottom: 1px dashed #E5E7EB;
}
.jiil-indexing-grid .status-badge {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
    white-space: nowrap;
}
.jiil-indexing-grid .status-indexed {
    background: #ECFDF5;
    color: #047857;
    border: 1px solid #A7F3D0;
}
#snx-indexing .jiil-indexing-note,
body:has(.snx-home) #snx-indexing .jiil-indexing-note {
    font-size: 12px !important;
    color: #6B7280 !important;
    line-height: 1.6;
    margin: 0 0 8px 0;
}
@media (max-width: 768px) {
    .jiil-indexing-grid { grid-template-columns: 1fr; }
}
.pkp_structure_sidebar .jiil-indexing-grid { grid-template-columns: 1fr; }
/* END [SNX-JIIL-INDEXING-REBUILD] */

/* BEGIN [SNX-JIIL-FOOTER-MOBILE-FIX] 窄屏页脚单列：压过 .footer-grid 的内联 repeat(4,1fr) */
@media (max-width: 767px) {
    .site-footer .footer-grid,
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}
/* END [SNX-JIIL-FOOTER-MOBILE-FIX] */

/* BEGIN [SNX-JIIL-CI-REMOVE] 仅稿件 35（DOI 10.68791/jiil2026001）：Competing Interests 不显示；数据保留，PFL 统计不变 */
body:has(a[href*="jiil2026001"]) .snx-ci-footer,
body:has(a[href*="jiil2026001"]) .snx-article-header .snx-competing-interests,
body:has(a[href*="jiil2026001"]) .pkp_structure_main .snx-competing-interests {
    display: none !important;
}
/* END [SNX-JIIL-CI-REMOVE] */

/* ==========================================================================
   [SNX-JIIL-FINAL] 深度视觉重构 · 最终覆盖层（2026-11-03）
   原则：内容一个不删，只通过折叠 / 分栏 / 卡片化重塑视觉层级。
   本段位于文件最末尾，同名规则覆盖前文全部旧定义（含历史全局污染）。
   红线：未修改任何 PHP / tpl 文件；字体改为服务器自托管
   （/public/journals/1/google-fonts/merriweather.css，等效于 Google Fonts
   @import，但大陆访客可直连、无阻塞）。
   ========================================================================== */

/* ---------- 1. 字体系统（Springer 级排版） ---------- */
h1, h2, h3, .article-summary h3, .pkp_block h3,
.snx-section__title, .snx-hero__title, .snx-issue-item__title, .snx-announce-item__title {
    font-family: 'Merriweather', Georgia, 'Times New Roman', serif !important;
    font-weight: 700 !important;
    color: #1F2937 !important;
}
body, p, .article-summary, .pkp_block, li, dd, dt, figcaption {
    font-family: 'Merriweather Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    line-height: 1.7 !important;
}
/* 正文灰阶：不加 !important，保住 snx-extra 卡片与侧栏卡片的内联品牌色 */
body, p, .article-summary, .pkp_block { color: #4B5563; }

/* ---------- 2. 首页双栏 Grid（精准限定期刊首页，防止污染文章页） ---------- */
@media (min-width: 992px) {
    body:has(.snx-home) .pkp_structure_content.has_sidebar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 340px !important;
        gap: 48px !important;
        align-items: start !important;
        max-width: 1328px !important;
        margin: 0 auto !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box !important;
    }
    /* JS 已把 Hero / Key-facts 提升为 content 直接子节点 → 跨双栏通栏。
       注意：基底 CSS 给 main/sidebar 写死了 grid-row:1，这里必须显式
       指定四者的行号，否则 Hero 会被自动放置挤到双栏下方。 */
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-hero {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
    }
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-facts {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
    }
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .pkp_structure_main {
        grid-column: 1 !important;
        grid-row: 3 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .pkp_structure_sidebar.left {
        grid-column: 2 !important;
        grid-row: 3 !important;
        position: sticky !important;
        top: 24px !important;
        width: 100% !important;
        max-width: 340px !important;
    }
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-hero .snx-wrap,
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-facts .snx-wrap {
        max-width: 100% !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}
@media (min-width: 992px) and (max-width: 1327px) {
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-hero .snx-wrap,
    body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-facts .snx-wrap {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* ---------- 3. Hero：深紫渐变 + 金色主 CTA（首屏焦点） ---------- */
.snx-hero {
    background: linear-gradient(135deg, #4A3A6B 0%, #2D1B4E 100%) !important;
    border-bottom: 0 !important;
    padding: 76px 0 68px !important;
    position: relative !important;
    overflow: hidden !important;
}
.snx-hero::before {
    content: "";
    position: absolute;
    top: -140px; right: -100px;
    width: 520px; height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.16) 0%, rgba(212, 175, 55, 0) 62%);
    pointer-events: none;
}
.snx-hero::after {
    content: "";
    position: absolute;
    bottom: -180px; left: -120px;
    width: 460px; height: 460px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0) 60%);
    pointer-events: none;
}
.snx-hero .snx-hero__eyebrow {
    color: #D4AF37 !important;
    letter-spacing: 0.16em !important;
}
.snx-hero .snx-hero__title {
    color: #FFFFFF !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25);
}
.snx-hero .snx-hero__tagline {
    color: rgba(255, 255, 255, 0.85) !important;
}
.snx-hero .snx-hero__visual img {
    border: 6px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 28px 56px -18px rgba(0, 0, 0, 0.5) !important;
    border-radius: 14px !important;
}
/* 双按钮并排：金色实心（投稿）+ 白色描边（当期） */
.snx-hero__actions { gap: 16px !important; flex-wrap: nowrap; }
.snx-btn { font-size: 1rem !important; min-height: 50px !important; padding: 0 28px !important; border-radius: 8px !important; }
.snx-btn--primary, .snx-btn--primary:link, .snx-btn--primary:visited {
    background: linear-gradient(180deg, #E5C560 0%, #D4AF37 100%) !important;
    border: 1px solid #C79E2B !important;
    color: #2D1B4E !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 22px -8px rgba(212, 175, 55, 0.55);
}
.snx-btn--primary:hover, .snx-btn--primary:focus {
    background: #C79E2B !important;
    border-color: #B98F22 !important;
    color: #1E1138 !important;
    transform: translateY(-1px);
}
.snx-btn--ghost, .snx-btn--ghost:link, .snx-btn--ghost:visited {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
}
.snx-btn--ghost:hover, .snx-btn--ghost:focus {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: #FFFFFF !important;
    color: #FFFFFF !important;
}

/* ---------- 4. Key-facts 通栏浅灰带（与 Hero 相接） ---------- */
.snx-facts {
    background-color: #F8F9FA !important;
    border-bottom: 1px solid #E5E7EB !important;
    padding: 18px 0 !important;
}
.snx-fact__label { font-size: 0.7rem !important; letter-spacing: 0.1em; }
.snx-fact__value { font-weight: 700 !important; color: #1F2937; }

/* ---------- 5. 主栏卡片化 + Current Issue 白卡流 ---------- */
body:has(.snx-home) .pkp_structure_main > section {
    background: #fff !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 32px !important;
    margin-bottom: 32px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}
.pkp_block {
    background: #fff !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 24px !important;
}
body:has(.snx-home) .snx-issue-item {
    background: #fff;
    border: 1px solid #EEF0F4;
    border-radius: 12px;
    padding: 20px 22px;
    margin-bottom: 14px;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
body:has(.snx-home) .snx-issue-item:hover {
    border-color: #D9CFEE;
    box-shadow: 0 12px 26px -14px rgba(74, 58, 107, 0.22);
}
body:has(.snx-home) .snx-issue-item__type {
    background: #F3E8FF !important;
    color: #6B4FA1 !important;
    border-radius: 999px;
    padding: 3px 12px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ---------- 6. 侧边栏减负：只保留 4 张卡 ----------
   注：后台 sidebar 设置现已只挂 call-for-paper / editor-body / qr-code /
   acceptance_rate(Journal Metrics) 四块；以下隐藏规则兜底防止旧块回流。 */
body:has(.snx-home) #customblock-editorial-roles-jilr,
body:has(.snx-home) #customblock-announcements,
body:has(.snx-home) #customblock-quick-submit {
    display: none !important;
}

/* ---------- 7. 长文折叠面板（JS 于 Custom Footer 中构建） ---------- */
.snx-fold { margin-top: 18px; }
.snx-fold__body {
    position: relative;
    overflow: hidden;
    max-height: 6.4em;
    transition: max-height 0.45s ease;
}
.snx-fold__body::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 60px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--snx-fold-fade, #FFFFFF) 88%);
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.3s ease;
}
.snx-fold.is-open .snx-fold__body { max-height: 6000px; }
.snx-fold.is-open .snx-fold__body::after { opacity: 0; }
.snx-fold__toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    padding: 9px 20px;
    background: #F3E8FF;
    color: #4A3A6B;
    border: 1px solid #E2D6F5;
    border-radius: 8px;
    font-family: 'Merriweather Sans', -apple-system, sans-serif !important;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.snx-fold__toggle:hover { background: #EADCFA; border-color: #C9B6EC; }
/* Aims & Scope：默认 3 行，JS 加 .snx-clamped 生效（无 JS 时不裁切） */
.snx-prose.snx-clamped {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------- 8. 移动端 ---------- */
@media (max-width: 991px) {
    .snx-hero { padding: 52px 0 46px !important; }
    .snx-hero__title { font-size: 1.75rem !important; }
    body:has(.snx-home) .pkp_structure_main > section { padding: 24px 18px !important; }
}
@media (max-width: 640px) {
    .snx-hero { padding: 44px 0 40px !important; }
    .snx-hero__title { font-size: 1.5rem !important; }
    .snx-hero__actions { flex-direction: column !important; gap: 12px !important; }
    .snx-btn { width: 100% !important; }
    .snx-fold__body { max-height: 7.2em; }
}

/* ==================== END SNX-JIIL-FINAL ==================== */

/* BEGIN [SNX-JIIL-RESPONSIVE-FINAL] 响应式收口：padding 替代 overflow / 指标栏 5→3→2 / 核心布局 !important */
/* 作用域说明：页脚 JS 会把 hero/facts 提升为通栏节点，故统一用 body:has(.snx-home)。 */
body:has(.snx-home) { overflow-x: visible !important; }
body:has(.snx-home) .snx-hero,
body:has(.snx-home) .snx-facts { box-sizing: border-box !important; }
body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-hero .snx-wrap,
body:has(.snx-home) .pkp_structure_content.has_sidebar > .snx-facts .snx-wrap,
body:has(.snx-home) .snx-hero .snx-wrap,
body:has(.snx-home) .snx-facts .snx-wrap {
    padding: 0 15px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}
@media (min-width: 992px) {
    body:has(.snx-home) .snx-hero__inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) !important;
        align-items: stretch !important;
    }
    body:has(.snx-home) .snx-hero__visual {
        display: flex !important; align-items: stretch !important; min-width: 0 !important;
    }
    body:has(.snx-home) .snx-hero__visual img {
        width: 100% !important; height: 100% !important; object-fit: cover !important;
    }
}
body:has(.snx-home) .snx-facts__list {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px !important; align-items: stretch !important;
}
body:has(.snx-home) .snx-fact {
    flex: none !important; min-width: 0 !important; width: auto !important;
    height: 100% !important; justify-content: center !important;
}
body:has(.snx-home) .snx-fact__label,
body:has(.snx-home) .snx-fact__value {
    white-space: normal !important; word-break: break-word !important;
    overflow-wrap: break-word !important; text-overflow: clip !important; overflow: visible !important;
}
@media (max-width: 1024px) {
    body:has(.snx-home) .snx-facts__list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px) {
    body:has(.snx-home) .snx-facts__list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body:has(.snx-home) .snx-facts__list > :nth-child(5) { grid-column: span 2 !important; }
    body:has(.snx-home) .snx-hero__actions {
        flex-direction: column !important; align-items: stretch !important; flex-wrap: nowrap !important;
    }
    body:has(.snx-home) .snx-btn { width: 100% !important; box-sizing: border-box !important; }
}
/* END [SNX-JIIL-RESPONSIVE-FINAL] */
