/* ==========================================================================
   [SNX-AOP-TYPE] Forthcoming / AOP 列表页 —— Springer Nature 字体与版式体系
   --------------------------------------------------------------------------
   作用域：全部以 .forthcoming-page 或 .snx-fc-* / .aop-* 前缀限定，
          不改动其它页面。

   为什么独立成文件：
     该页面被 JIIL(1, defaultManuscript) 与 ACDM(2, healthSciences) 共用，
     两个期刊主题不同、各自 styleSheet.css 也不同。
     把样式挂在插件目录并只在本模板引入，可一次覆盖所有期刊，
     不污染任何一个期刊的全局样式表。

   字体：
     Merriweather（衬线）→ 标题
     Merriweather Sans（无衬线）→ 正文
   字体通过 @import 引入；若 CDN 不可达，下方 font-family 已指定
   Georgia / Arial 等回退栈，不会出现裸字体。
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Merriweather+Sans:wght@300;400;600;700&family=Merriweather:wght@400;700&display=swap');

/* --------------------------------------------------------------------------
   1. 基础排版
   -------------------------------------------------------------------------- */
.forthcoming-page {
    font-family: 'Merriweather Sans', -apple-system, 'Segoe UI', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #1F2937;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 标题统一衬线体，建立学术感 */
.forthcoming-page h1,
.forthcoming-page h2,
.forthcoming-page h3,
.forthcoming-page .article-title {
    font-family: 'Merriweather', Georgia, 'Times New Roman', serif;
    font-weight: 700;
    line-height: 1.35;
    color: #111827;
}

/* --------------------------------------------------------------------------
   2. 顶部信息带：AOP 说明卡片
   -------------------------------------------------------------------------- */
.forthcoming-page .snx-fc-header {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px 0;
    box-sizing: border-box;
}

.forthcoming-page .snx-fc-title {
    margin: 0 0 18px;
    font-size: 28px;
}

.forthcoming-page .aop-intro {
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 32px;
    font-size: 14px;
    color: #4B5563;
    line-height: 1.7;
    max-width: none;
}

/* 「Showing N articles」：小号大写灰字 */
.forthcoming-page .aop-count {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6B7280;
    margin-bottom: 16px;
    margin-top: 0;
}

.forthcoming-page .aop-count strong {
    color: #374151;
    font-weight: 700;
}

/* --------------------------------------------------------------------------
   3. 工具条（计数 + 排序）
   -------------------------------------------------------------------------- */
.forthcoming-page .snx-fc-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    max-width: 900px;
    margin: 0 auto 8px;
    padding: 0 20px 18px;
    box-sizing: border-box;
    border-bottom: 1px solid #E5E7EB;
}

.forthcoming-page .snx-fc-sort {
    display: flex;
    align-items: center;
    gap: 8px;
}

.forthcoming-page .snx-fc-sort label {
    font-size: 12px;
    color: #6B7280;
    margin: 0;
}

.forthcoming-page .snx-fc-sort select {
    font-family: inherit;
    font-size: 13px;
    color: #1F2937;
    background: #FFFFFF;
    border: 1px solid #D1D5DB;
    border-radius: 4px;
    padding: 5px 8px;
    cursor: pointer;
}

.forthcoming-page .snx-fc-sort select:focus {
    outline: 2px solid #4A3A6B;
    outline-offset: 1px;
    border-color: #4A3A6B;
}

/* --------------------------------------------------------------------------
   4. 文章列表：卡片流
   -------------------------------------------------------------------------- */
.forthcoming-page .forthcoming-list {
    list-style: none;
    padding: 0 20px 32px;
    margin: 0 auto;
    max-width: 900px;
    box-sizing: border-box;
}

.forthcoming-page .forthcoming-item {
    padding: 28px 0;
    border-bottom: 1px solid #F3F4F6;
    transition: background 0.15s ease;
}

.forthcoming-page .forthcoming-item:hover {
    background: #FAFAFB;
}

.forthcoming-page .forthcoming-item:last-child {
    border-bottom: none;
}

/* 类型徽章：品牌紫 + 浅紫底 */
.forthcoming-page .article-type {
    display: inline-block;
    font-family: 'Merriweather Sans', -apple-system, 'Segoe UI', Arial, sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #4A3A6B;
    background: #F3E8FF;
    padding: 3px 9px;
    border-radius: 4px;
    margin-bottom: 10px;
}

/* 文章标题 */
.forthcoming-page .article-title {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 10px;
    color: #111827;
}

.forthcoming-page .article-title a,
.forthcoming-page .article-title a:link,
.forthcoming-page .article-title a:visited {
    color: inherit;
    text-decoration: none;
}

.forthcoming-page .article-title a:hover,
.forthcoming-page .article-title a:focus {
    color: #4A3A6B;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* 元数据行：作者 / 日期 / DOI */
.forthcoming-page .meta-line {
    font-family: 'Merriweather Sans', -apple-system, 'Segoe UI', Arial, sans-serif;
    font-size: 13px;
    color: #6B7280;
    line-height: 1.7;
    margin: 0 0 6px;
}

.forthcoming-page .meta-line .snx-fc-author {
    color: #374151;
}

.forthcoming-page .meta-line .doi a,
.forthcoming-page .meta-line .doi a:link,
.forthcoming-page .meta-line .doi a:visited {
    color: #4A3A6B;
    font-weight: 500;
    text-decoration: none;
}

.forthcoming-page .meta-line .doi a:hover,
.forthcoming-page .meta-line .doi a:focus {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.forthcoming-page .snx-fc-sep {
    color: #D1D5DB;
}

/* 摘要与 Read More */
.forthcoming-page .snx-fc-abstract {
    font-size: 14px;
    line-height: 1.7;
    color: #4B5563;
    margin: 12px 0 0;
    max-width: 78ch;
}

.forthcoming-page .snx-fc-readmore,
.forthcoming-page .snx-fc-readmore:link,
.forthcoming-page .snx-fc-readmore:visited {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #4A3A6B;
    text-decoration: none;
}

.forthcoming-page .snx-fc-readmore:hover,
.forthcoming-page .snx-fc-readmore:focus {
    color: #3B2E57;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   5. PDF / galley 按钮
   --------------------------------------------------------------------------
   注意：此处必须同时锁定 color 与 background-color。
   galley 链接的 class 是 `btn btn-primary`，若只给链接设 color:紫色，
   会与按钮自身的紫色背景同色 → 文字不可见（此前踩过的坑）。
   -------------------------------------------------------------------------- */
.forthcoming-page .snx-fc-galleys {
    margin-top: 14px;
}

.forthcoming-page .snx-fc-galleys a,
.forthcoming-page .snx-fc-galleys a:link,
.forthcoming-page .snx-fc-galleys a:visited,
.forthcoming-page .snx-fc-galleys .btn,
.forthcoming-page .snx-fc-galleys .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    padding: 4px 14px;
    background-color: #4A3A6B !important;
    border: 1px solid #4A3A6B !important;
    border-radius: 4px;
    color: #FFFFFF !important;
    font-family: 'Merriweather Sans', -apple-system, 'Segoe UI', Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.forthcoming-page .snx-fc-galleys a:hover,
.forthcoming-page .snx-fc-galleys a:focus,
.forthcoming-page .snx-fc-galleys .btn:hover,
.forthcoming-page .snx-fc-galleys .btn-primary:hover {
    background-color: #3B2E57 !important;
    border-color: #3B2E57 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

/* --------------------------------------------------------------------------
   6. 空状态
   -------------------------------------------------------------------------- */
.forthcoming-page .snx-fc-empty {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px 40px;
    font-size: 14px;
    color: #6B7280;
}

/* --------------------------------------------------------------------------
   7. 蓝色清零：页内任何残留的默认蓝统一为品牌紫
   --------------------------------------------------------------------------
   仅作用于本页容器，不外溢。
   -------------------------------------------------------------------------- */
.forthcoming-page a:not(.btn):not(.btn-primary) {
    color: #4A3A6B;
}

.forthcoming-page .pagination .page-link,
.forthcoming-page .text-primary {
    color: #4A3A6B !important;
    border-color: rgba(74, 58, 107, 0.25) !important;
}

/* --------------------------------------------------------------------------
   8. 移动端
   -------------------------------------------------------------------------- */
@media (max-width: 640px) {
    .forthcoming-page .snx-fc-header,
    .forthcoming-page .snx-fc-toolbar,
    .forthcoming-page .forthcoming-list,
    .forthcoming-page .snx-fc-empty {
        padding-left: 16px;
        padding-right: 16px;
    }

    .forthcoming-page .snx-fc-title {
        font-size: 22px;
    }

    .forthcoming-page .article-title {
        font-size: 17px;
    }

    .forthcoming-page .forthcoming-item {
        padding: 22px 0;
    }

    .forthcoming-page .aop-intro {
        padding: 14px 16px;
        margin-bottom: 24px;
    }

    .forthcoming-page .snx-fc-toolbar {
        align-items: flex-start;
    }
}
