/* ==========================================================================
   南诺方邦建站 nnfb.cn — 解决方案页族样式（总览页 + 行业方案页）
   依赖：base.css（变量 / 按钮 / 动画）、inner.css（page-hero / crumb）
   全部类名 sol- 前缀，避免与首页、其他内页冲突
   响应式断点：1080px / 640px
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 公共：主体区上边距（紧跟 page-hero 之后）
   -------------------------------------------------------------------------- */
.sol-main { padding-top: 64px; }

/* --------------------------------------------------------------------------
   2. 总览页 · 行业方案矩阵（18 行大索引表）
   -------------------------------------------------------------------------- */
.sol-matrix { display: flex; flex-direction: column; gap: 12px; }

.sol-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 48px;
    align-items: center;
    gap: 26px;
    padding: 20px 30px;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    box-shadow: 0 4px 14px rgba(196, 152, 88, .06);
    transition: transform .35s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.sol-row:hover {
    background: var(--butter-soft);
    border-color: var(--butter);
    transform: translateX(10px);
    box-shadow: var(--shadow-sm);
}
.sol-row-num {
    font-family: var(--serif);
    font-size: 38px;
    font-weight: 700;
    line-height: 1;
    color: var(--butter);
    transition: color .35s ease;
}
.sol-row:hover .sol-row-num { color: var(--butter-deep); }
.sol-row-info { min-width: 0; }
.sol-row-info h3 {
    font-size: 19px;
    margin-bottom: 2px;
    letter-spacing: .06em;
    transition: color .3s ease;
}
.sol-row:hover .sol-row-info h3 { color: var(--butter-deep); }
.sol-row-info p {
    font-size: 13.5px;
    color: var(--ink-mute);
    letter-spacing: .03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sol-row-arrow {
    width: 48px;
    height: 48px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .35s ease, border-color .35s ease;
}
.sol-row-arrow svg { transition: transform .3s ease; }
.sol-row:hover .sol-row-arrow { background: var(--milk); border-color: var(--butter-deep); }
.sol-row:hover .sol-row-arrow svg { transform: translateX(4px); }

/* --------------------------------------------------------------------------
   3. 行业方案页 · 左目录 sticky + 右内容双栏
   -------------------------------------------------------------------------- */
.sol-layout {
    display: grid;
    grid-template-columns: 258px minmax(0, 1fr);
    gap: 48px;
    align-items: start;
}

/* 左侧目录栏 */
.sol-aside { position: sticky; top: 132px; }
.sol-toc {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 24px 22px;
    box-shadow: var(--shadow-sm);
}
.sol-toc-title {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .22em;
    color: var(--ink);
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px dashed var(--line);
}
.sol-toc-chips { display: flex; flex-direction: column; gap: 10px; }
.sol-toc-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    border-radius: 999px;
    background: var(--cream);
    border: 1px solid var(--line);
    font-size: 14px;
    font-weight: 600;
    color: var(--ink-body);
    letter-spacing: .08em;
    transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.sol-toc-chip::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pink);
    flex-shrink: 0;
    transition: background .3s ease;
}
.sol-toc-chip:hover {
    background: var(--pink-soft);
    border-color: var(--pink);
    color: var(--pink-deep);
    transform: translateX(4px);
}

/* 左栏底部咨询电话卡 */
.sol-toc-call {
    margin-top: 16px;
    padding: 20px 18px;
    border-radius: var(--r-md);
    background: linear-gradient(135deg, var(--butter-soft) 0%, var(--pink-soft) 100%);
    text-align: center;
}
.sol-toc-call > span {
    display: block;
    font-size: 12px;
    letter-spacing: .18em;
    color: var(--ink-mute);
}
.sol-toc-call strong {
    display: block;
    font-family: var(--serif);
    font-size: 20px;
    color: var(--butter-deep);
    margin: 4px 0 12px;
    letter-spacing: .04em;
}
.sol-toc-call .btn { width: 100%; padding: 9px 20px; font-size: 13px; letter-spacing: .1em; }

/* 右侧内容区 */
.sol-body { min-width: 0; }
.sol-sec { padding: 34px 0; }
.sol-sec:first-child { padding-top: 6px; }
.sol-sec + .sol-sec { border-top: 1px dashed var(--line); }
.sol-sec .sec-head { margin-bottom: 28px; }

/* --------------------------------------------------------------------------
   4. 行业痛点 vs 我们的做法
   -------------------------------------------------------------------------- */
.sol-vs-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 14px;
}
.sol-vs-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .12em;
}
.sol-vs-label.is-pain { background: var(--pink-soft); color: var(--pink-deep); }
.sol-vs-label.is-act { background: var(--butter-soft); color: var(--butter-deep); }

.sol-vs-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 14px;
}
.sol-vs-row:last-child { margin-bottom: 0; }
.sol-vs-pain,
.sol-vs-act {
    border-radius: var(--r-md);
    padding: 18px 22px 16px;
}
.sol-vs-pain { background: var(--pink-soft); }
.sol-vs-act { background: var(--butter-soft); }
.sol-vs-pain h4,
.sol-vs-act h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15.5px;
    margin-bottom: 5px;
    letter-spacing: .04em;
}
.sol-vs-pain h4 { color: var(--pink-deep); }
.sol-vs-act h4 { color: var(--butter-deep); }
.sol-vs-pain p,
.sol-vs-act p { font-size: 14px; line-height: 1.9; color: var(--ink-body); }

/* --------------------------------------------------------------------------
   5. 栏目配置清单（chips + 勾选）
   -------------------------------------------------------------------------- */
.sol-cols { display: flex; flex-wrap: wrap; gap: 13px; }
.sol-col-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 21px;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: .05em;
    box-shadow: 0 3px 10px rgba(196, 152, 88, .06);
    transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
.sol-col-chip:hover {
    background: var(--butter-soft);
    border-color: var(--butter);
    transform: translateY(-3px);
}
.sol-cols-note {
    margin-top: 18px;
    font-size: 13.5px;
    color: var(--ink-mute);
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.sol-cols-note svg { flex-shrink: 0; margin-top: 5px; }

/* --------------------------------------------------------------------------
   6. 获客设计（客户决策路径横向卡）
   -------------------------------------------------------------------------- */
.sol-path {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.sol-path-card {
    position: relative;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 24px 20px 22px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform .35s ease, border-color .35s ease;
}
.sol-path-card:hover { transform: translateY(-5px); border-color: var(--butter); }
.sol-path-no {
    position: absolute;
    right: 12px;
    top: 2px;
    font-family: var(--serif);
    font-size: 54px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--butter-soft);
    transition: color .35s ease;
}
.sol-path-card:hover .sol-path-no { color: var(--pink-soft); }
.sol-path-icon {
    position: relative;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: var(--cream);
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.sol-path-step {
    position: relative;
    font-size: 12px;
    letter-spacing: .24em;
    color: var(--pink-deep);
    margin-bottom: 8px;
}
.sol-path-card h4 {
    position: relative;
    font-size: 16.5px;
    margin-bottom: 6px;
}
.sol-path-card p {
    position: relative;
    font-size: 13.5px;
    color: var(--ink-body);
}
.sol-path-note {
    margin-top: 18px;
    font-size: 13.5px;
    color: var(--ink-mute);
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.sol-path-note svg { flex-shrink: 0; margin-top: 5px; }

/* --------------------------------------------------------------------------
   7. 相关案例引用卡
   -------------------------------------------------------------------------- */
.sol-case {
    position: relative;
    border-radius: var(--r-lg);
    padding: 32px 36px;
    background: linear-gradient(135deg, var(--butter-soft) 0%, var(--pink-soft) 100%);
    overflow: hidden;
}
.sol-case::before {
    content: "\201C";
    position: absolute;
    right: 26px;
    top: -34px;
    font-family: var(--serif);
    font-size: 150px;
    line-height: 1;
    color: rgba(255, 253, 249, .8);
    pointer-events: none;
}
.sol-case-tag {
    position: relative;
    display: inline-flex;
    padding: 6px 16px;
    border-radius: 999px;
    background: var(--milk);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--pink-deep);
    margin-bottom: 12px;
}
.sol-case h3 { position: relative; font-size: 22px; margin-bottom: 10px; }
.sol-case > p { position: relative; max-width: 660px; font-size: 14.5px; }
.sol-case-data {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    margin-top: 20px;
}
.sol-case-data li strong {
    display: flex;
    align-items: baseline;
    gap: 2px;
    font-family: var(--serif);
    font-size: 27px;
    color: var(--butter-deep);
}
.sol-case-data li strong i { font-size: 13px; font-style: normal; }
.sol-case-data li span { font-size: 12.5px; color: var(--ink-mute); letter-spacing: .1em; }
.sol-case .link-more { position: relative; margin-top: 22px; }

/* --------------------------------------------------------------------------
   8. 上一方案 / 下一方案
   -------------------------------------------------------------------------- */
.sol-pn {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 56px;
}
.sol-pn a {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 22px 26px;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    box-shadow: 0 3px 10px rgba(196, 152, 88, .06);
    transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
.sol-pn a:hover { background: var(--butter-soft); border-color: var(--butter); transform: translateY(-3px); }
.sol-pn-side {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    letter-spacing: .16em;
    color: var(--ink-mute);
}
.sol-pn-name {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: .06em;
}
.sol-pn-name svg { transition: transform .3s ease; }
.sol-pn-prev:hover .sol-pn-name svg { transform: translateX(-4px); }
.sol-pn-next:hover .sol-pn-name svg { transform: translateX(4px); }
.sol-pn-prev { align-items: flex-start; }
.sol-pn-next { align-items: flex-end; text-align: right; }
.sol-pn-next .sol-pn-side { justify-content: flex-end; }

/* --------------------------------------------------------------------------
   9. 响应式 · 1080px
   -------------------------------------------------------------------------- */
@media (max-width: 1080px) {
    .sol-layout { grid-template-columns: 1fr; gap: 28px; }
    .sol-aside { position: static; }
    .sol-toc { padding: 18px 20px; }
    .sol-toc-chips { flex-direction: row; flex-wrap: wrap; }
    .sol-toc-chip { padding: 9px 16px; }
    .sol-toc-call {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
        text-align: left;
    }
    .sol-toc-call strong { margin: 0; }
    .sol-toc-call .btn { width: auto; }
    .sol-path { grid-template-columns: repeat(2, 1fr); }
    .sol-row { grid-template-columns: 62px minmax(0, 1fr) 46px; gap: 16px; padding: 16px 20px; }
    .sol-row-num { font-size: 28px; }
    .sol-row-info p { white-space: normal; }
}

/* --------------------------------------------------------------------------
   10. 响应式 · 640px
   -------------------------------------------------------------------------- */
@media (max-width: 640px) {
    .sol-main { padding-top: 44px; }
    .sol-vs-head { grid-template-columns: 1fr; gap: 10px; }
    .sol-vs-head .sol-vs-label { padding: 9px 16px; }
    .sol-vs-row { grid-template-columns: 1fr; gap: 10px; margin-bottom: 12px; }
    .sol-vs-pain,
    .sol-vs-act { padding: 15px 18px 13px; }
    .sol-path { grid-template-columns: 1fr; gap: 14px; }
    .sol-path-no { font-size: 46px; }
    .sol-case { padding: 26px 22px; }
    .sol-case h3 { font-size: 19px; }
    .sol-case-data { gap: 16px 26px; }
    .sol-pn { grid-template-columns: 1fr; margin-top: 40px; }
    .sol-pn-next { align-items: flex-start; text-align: left; }
    .sol-pn-next .sol-pn-side { justify-content: flex-start; }
    .sol-row {
        grid-template-columns: 44px minmax(0, 1fr) 40px;
        gap: 12px;
        padding: 13px 14px;
        border-radius: var(--r-sm);
    }
    .sol-row-num { font-size: 22px; }
    .sol-row-info h3 { font-size: 16.5px; }
    .sol-row-info p { font-size: 12.5px; }
    .sol-row-arrow { width: 38px; height: 38px; }
    .sol-sec { padding: 26px 0; }
    .sol-sec .sec-head { margin-bottom: 20px; }
    .sol-cols { gap: 10px; }
    .sol-col-chip { padding: 10px 17px; font-size: 13.5px; }
}
