/* ==========================================================================
   解决方案栏目（/solutions/ 总页与十个通用方案页，sitegen/solutions.py 产出）：site.css 公共组件之外的几样。
   2026-10-03《整站规划》4.2（子代理 C）。只用 site.css 的变量；类名前缀 sol-（通用）、sv-（价值）、tc-（典型场景卡）、ind-mx（按行业查看）。
   ========================================================================== */

/* 本栏目的节：ssec() 加 .sol-sec（.sol 已是 site.css 旧方案卡的类名），节底留白（公共组件的节底只有 8px），节与节仍是白 / 浅灰交替 */
.sec.sol-sec{padding-bottom:44px}
.sec.sol-sec>.chip-row{padding-bottom:0}
.sol-note{margin:16px var(--gut) 0;font-size:12px;line-height:1.7;color:var(--ink-3)}
@media (max-width:640px){.sec.sol-sec{padding-bottom:30px}}
/* 问答：收起的答句不排版（同下面典型场景卡 .tcase 的做法；新版 Chrome 的 <details> 收起时内容仍有排版框，tools/sitecheck.js 会把收起的字算进「一屏一个瓴渡OS」）。
   2026-10-05 晚人机协同巡检多了一问，答句里有「瓴渡OS」，和「由谁负责运维？」的答句同在一屏的收起状态里 */
.sol-sec .faq details:not([open])>.faq-a{display:none}
/* 总页导语：电脑上在「起步，」后分两行（两个分句各一行，不在「车次」中间折）；手机上照常折行 */
@media (max-width:760px){.sol-br{display:none}}

/* 场景：单张大卡（common.scn_stage(slug, lead=False)）。2026-10-05 晚起文字栏不再重复页首导语，只剩价值预期两项 + 适用现场（《文案统一》5.2）——
   电脑上画面放大（约 2.5 : 1，首页轮播是 1.9 : 1），文字栏收窄、价值预期加大（同「价值」一节的 18px），第一项上面的分隔线去掉（原用来隔开导语）；
   适用现场的 chip 放不下时折行（首页那张卡是裁成一行，这里文字栏有高度）。只改本栏目，cards.css 不动 */
.sol-sec .scx-solo .scx-main>.scn-kpi:first-child{border-top:0;padding-top:0}
.sol-sec .scx-solo .scx-where .chip-row{height:auto}
@media (min-width:1100px){
  .sol-sec .scx-solo .scx-card{grid-template-columns:minmax(0,2.5fr) minmax(0,1fr)}
  .sol-sec .scx-solo .scn-kpi>span,.sol-sec .scx-solo .scx-where>span{font-size:12px}
  .sol-sec .scx-solo .scn-kpi ul{gap:8px;margin-top:12px}
  .sol-sec .scx-solo .scn-kpi li{gap:10px;font-size:18px}
  .sol-sec .scx-solo .scn-kpi i{width:22px;height:22px;font-size:14px}
  .sol-sec .scx-solo .scx-where{margin-top:28px}
}

/* 价值：价值预期全表（首页两项在前，箭头实心——画面演到「结果」时文字栏里亮的就是这两项；其余可核对指标在后，箭头浅底）+ 口径说明 + 适用对象 / 起步范围 */
.sv-val{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;padding:0 var(--gut)}
.sv-main{min-width:0;padding:24px 26px 22px;border:1px solid var(--line);border-radius:12px;background:#fff}
.sv-side{min-width:0}
.sv-kpi{margin:0;padding:0}
.sv-kpi span{padding:0;border:0;font:600 12px/1 var(--sans);letter-spacing:.12em;color:var(--ink-3)}
.sv-kpi ul{grid-template-columns:repeat(2,minmax(0,max-content));gap:10px 40px;margin-top:16px}   /* 电脑两列：首页两项一行，其余两项一行 */
.sv-kpi li{align-items:center;gap:12px;padding:5px 0;font-size:18px;line-height:1.35}
.sv-kpi i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--blue-soft);font-size:15px;line-height:1}
.sv-kpi li.sv-home i{background:var(--blue);color:#fff}
.sv-rows{margin:0;border-top:1px solid var(--line)}
.sv-rows>div{display:grid;grid-template-columns:5.2em minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line-2);font-size:14.5px;line-height:1.6}
.sv-rows dt{color:var(--ink-3)}
.sv-rows dd{margin:0;color:var(--ink)}
.sv-side .scn-note{margin:16px 0 0}
@media (max-width:860px){.sv-val{grid-template-columns:1fr;gap:20px}}
@media (max-width:560px){.sv-kpi ul{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .sv-main{padding:18px 16px 16px}
  .sv-kpi ul{gap:4px 24px;margin-top:12px}
  .sv-kpi li{gap:10px;padding:4px 0;font-size:16px}
  .sv-kpi i{width:22px;height:22px;font-size:14px}
  .sv-rows>div{padding:12px 0;font-size:14px}
}

/* 变化：消息卡接在对照「使用之后」一栏下面——电脑上与右栏对齐（同 .vs 的三列），手机上一列 */
.sv-msg{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);padding:18px var(--gut) 0}
.sv-msg>div{grid-column:3;min-width:0}
.sv-msg .vs-tag,.tc-msg .vs-tag{margin-bottom:10px}
.sv-msg .msg,.tc-msg .msg{max-width:none}   /* 与右栏同宽 */
@media (max-width:760px){.sv-msg{grid-template-columns:minmax(0,1fr);padding-top:14px}.sv-msg>div{grid-column:1}}

/* 场景：适用现场 chip + 典型场景卡（<details>，没有脚本也能开合）：场景名 + 行业 + 一句；展开后 现状 → 使用之后（消息卡）、工作方式、说明 */
.sol-sub{margin:30px var(--gut) 12px;font:600 16px/1.4 var(--sans);color:var(--ink)}
.tcases{display:grid;gap:10px;padding:0 var(--gut)}
.tcase{border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .25s,box-shadow .25s}
.tcase:hover,.tcase[open]{border-color:var(--blue-100)}
.tcase[open]{box-shadow:0 12px 30px -20px rgba(29,78,216,.5)}
.tcase summary{position:relative;display:block;padding:18px 60px 18px 22px;list-style:none;cursor:pointer;outline:none}
.tcase summary::-webkit-details-marker{display:none}
.tcase summary::after{content:"";position:absolute;right:26px;top:50%;width:8px;height:8px;margin-top:-7px;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(45deg);transition:transform .2s}
.tcase[open]>summary::after{transform:translateY(5px) rotate(225deg)}
.tc-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
.tc-h b{font-size:17px;font-weight:600;line-height:1.4;color:var(--ink);transition:color .25s}
.tcase summary:hover .tc-h b,.tcase summary:focus-visible .tc-h b{color:var(--blue)}
.tc-h small{font-size:12px;color:var(--ink-3)}
.tc-line{display:block;margin-top:4px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.tc-body{padding:0 22px 22px}
.tcase:not([open])>.tc-body{display:none}   /* 收起时不排版（同早先浏览器的 <details>）：tools/sitecheck.js 数「瓴渡OS」时不把收起的字算进来 */
.tc-joint{margin-bottom:12px;padding:12px 16px;border-radius:8px;background:#F8FAFC;font-size:13px;line-height:1.75;color:var(--ink-2)}
.tc-vs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.tc-col{padding:18px 20px;border-radius:10px;background:#F8FAFC}
.tc-col.after{background:var(--blue-soft)}
.tc-col.after .vs-tag{color:var(--blue)}
.tc-col p{font-size:14px;line-height:1.8;color:var(--ink-2)}
.tc-msg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px}
.tc-msg>div{grid-column:2;min-width:0}
.tc-tag{margin:22px 0 10px}
.tc-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.tc-how li{padding:16px 18px;border:1px solid var(--line);border-radius:10px}
.tc-how b{display:block;font-size:14.5px;font-weight:600;line-height:1.5;color:var(--ink)}
.tc-how span{display:block;margin-top:6px;font-size:13px;line-height:1.7;color:var(--ink-2)}
.tc-note{margin-top:14px;font-size:12px;line-height:1.7;color:var(--ink-3)}
@media (max-width:760px){
  .tc-vs,.tc-how,.tc-msg{grid-template-columns:minmax(0,1fr)}.tc-msg>div{grid-column:1}
  .tcase summary{padding:16px 48px 16px 18px}.tcase summary::after{right:20px}
  .tc-h b{font-size:16px}
  .tc-body{padding:0 14px 16px}
  .tc-col{padding:16px}
  .tc-col p{font-size:13.5px}
}

/* 相关方案：首页小卡（缩略图 + 名字，common.scn_tabs）三张 + 一行「上一个 / 下一个」（十个方案循环）。
   小卡一排（.scx-row）默认按 168px 自动排，只放三张时电脑上排满一行（三等分），手机上仍是一行一张（缩略图在左、名字在右，同首页手机小卡条） */
@media (min-width:761px){.sol-rel .scx-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sol-rel .scx-name{font-size:15px;font-weight:600}}
.sol-pn{margin:24px var(--gut) 0;padding:16px 0 0}

/* 总页「按行业查看」：行业 × 方案（chip = 方案名 + 这个行业里的适用现场，链到方案页）。白卡里一行一个行业，工地 / 建筑施工在最后 */
.ind-mx{margin:0 var(--gut);border:1px solid var(--line);border-radius:12px;background:#fff}
.ind-mx>div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:16px;align-items:center;padding:14px 22px}
.ind-mx>div+div{border-top:1px solid var(--line-2)}
.ind-mx h3{font-size:15px;font-weight:600;line-height:1.5;color:var(--ink)}
.ind-mx .mx-row{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ind-mx .mx-row>li{max-width:100%}
/* 一项 = 方案名 + 这个行业里的适用现场（灰色小字）；放不下时小字折到名字下面（名字本身不折） */
.mx-it{display:inline-flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:1px;max-width:100%;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s}
.mx-it b{font-size:13.5px;font-weight:600;white-space:nowrap;transition:color .2s}
.mx-it small{font-size:12px;line-height:1.5;color:var(--ink-3)}
.mx-it:hover{border-color:var(--blue-100)}
.mx-it:hover b{color:var(--blue)}
@media (max-width:640px){
  .ind-mx>div{grid-template-columns:1fr;gap:10px;padding:14px 16px}
  .mx-it{column-gap:6px;padding:6px 10px}
  .mx-it b{font-size:13px}.mx-it small{font-size:11.5px}
}
