/* V18 shared: scenario detail card read-more + aligned rows; carousel for >3-card grids */
.sx-card .sx-blk p.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.sx-card .sx-blk p.is-clamped.is-open{display:block;-webkit-line-clamp:unset;overflow:visible}
.sx-readmore{display:none;align-items:center;gap:3px;margin:6px 0 0;padding:0;border:0;background:none;color:var(--blue);font:600 12.5px var(--fh);line-height:1.4;cursor:pointer}
.sx-readmore.is-on{display:inline-flex}
.sx-readmore::after{content:"↓";font-size:12px;line-height:1}
.sx-readmore[aria-expanded="true"]::after{content:"↑";font-size:12px}
.sx-readmore:hover{color:var(--cyan-d);text-decoration:underline}
.sx-readmore:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}

/* alignment shared by the normal 3-card grid and the 5-card carousel */
.sx-cards .sx-card h3{min-height:2.9em}
.sx-cards:not(.sx-cards-scroll) .sx-card h3{min-height:4.35em}
.sx-pic-cap{padding-top:20px}
.sx-pic-cap h3{margin-bottom:18px}
.sx-cards .sx-blk{min-height:107px}
.sx-cards .sx-tbl th:first-child,
.sx-cards .sx-tbl td:first-child{padding-left:0}
.sx-cards>.sx-card,
.sx-cards-scroll>.sx-card{box-shadow:none}
.sx-cards>.sx-card:hover,
.sx-cards-scroll>.sx-card:hover{box-shadow:none;transform:none}
.sx-cards .sx-card-pic:hover .sx-pic{transform:none}
.sx-cards>.sx-card.rv,
.sx-cards-scroll>.sx-card.rv,
.sx-adv.rv,
.sx-trust>.rv{opacity:1!important;transform:none!important;transition:none!important}
.sx-adv:hover{box-shadow:none;transform:none}

/* horizontal carousel only for card grids with more than 3 items */
.sx-carousel{position:relative}
.sx-cards-scroll{display:flex;align-items:stretch;gap:24px;overflow:hidden;padding:0}
.sx-cards-scroll>.sx-card{flex:0 0 calc((100% - 24px)/2);min-width:0;display:flex;flex-direction:column;grid-row:auto;grid-template-rows:none}
.sx-cards-scroll>.sx-card>.sx-models{margin-top:auto;align-self:auto}
.sx-cards-scroll>.sx-card-pic .sx-pic{flex:1 1 auto;height:0;min-height:180px;aspect-ratio:auto;object-fit:cover}
.sx-cards-scroll>.sx-card-pic .sx-pic-cap{flex:0 0 auto}

.sx-car-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:0;background:#C80000;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s var(--ease);box-shadow:0 10px 24px rgba(200,0,0,.32)}
.sx-car-arrow:hover{background:#A50000;color:#fff;box-shadow:0 14px 30px rgba(200,0,0,.42)}
.sx-car-arrow:active{transform:translateY(-50%) scale(.96)}
.sx-car-arrow:focus-visible{outline:2px solid var(--cyan-d);outline-offset:2px}
.sx-car-arrow svg{width:20px;height:20px}
.sx-car-prev{left:-18px}
.sx-car-next{right:-18px}
.sx-carousel+.sx-h2{margin-top:clamp(88px,7.6vw,116px)}

@media (max-width:1100px){
.sx-cards-scroll{gap:16px}
.sx-cards-scroll>.sx-card{flex-basis:92%}
.sx-car-arrow{width:38px;height:38px}
.sx-car-arrow svg{width:18px;height:18px}
.sx-car-prev{left:-8px}
.sx-car-next{right:-8px}
.sx-carousel+.sx-h2{margin-top:56px}
}
@media (max-width:880px){
.sx-cards .sx-card:before{margin:-22px -20px 20px}
.sx-cards-scroll .sx-card h3{min-height:4.35em}
.sx-cards .sx-blk{min-height:110px}
}

/* ==========================================================================
   V18 统一：子场景页 Pain / Solution 区标题对齐模板页 scenario-ups.html
   —— 模板页各板块使用 .sec-head（红色 overline + 居中 H2，无下划线）；
      子场景页的 .sx-h2 原带 96×3 红色下划线，这里去掉下划线并统一底部留白，
      字号、字重、居中方式仍继承站内 h2 与既有 .sx-h2 规则
   ========================================================================== */
.sx-sec .sx-h2{margin-bottom:52px;padding-bottom:0}
.sx-sec .sx-h2:after{display:none}
@media (max-width:880px){
.sx-sec .sx-h2{margin-bottom:28px}
}

/* WordPress（V19 子主题）专用：中窄屏下长文本卡片不撑破三栏最小宽度 */
@media (max-width:1100px){
.plb-v19-page .grid.g3>*{min-width:0}
}

/* WP 集成修正：设计稿栅格在 WP 容器内可能被 min-content 撑宽，桌面端同样允许收缩 */
.plb-v19-page .grid > *{min-width:0}
.plb-v19-page .sx-cards-scroll > .sx-card{min-width:0}

/* WP 集成修正：按钮字重偏粗，调轻一档（设计稿正文 600 → 按钮统一 600 以内） */
.btn, .btn *, .btn-sm{font-weight:600}
.btn-sm{font-size:13px;letter-spacing:0}

/* 头部与产品页主按钮：字重再降一档、字号略收 */
.hd .btn-cta{font-weight:600}
.pd-foot .btn{font-weight:600;font-size:14px}

/* 首页产品推荐：compare.js 会给每张卡套 .cmp-w，栅格宽度要按包裹层计算，否则卡片被压窄 */
#products .rec-track>.cmp-w{flex:0 0 calc((100% - 48px)/3)!important;min-width:0!important;display:flex}
#products .rec-track>.cmp-w>.rcard{width:100%!important;flex:1 1 auto!important;height:auto!important;min-height:0!important;min-width:0}
@media (max-width:1180px){
#products .rec-track>.cmp-w{flex:0 0 calc((100% - 24px)/2)!important}
}
@media (max-width:640px){
#products .rec-track>.cmp-w{flex:0 0 86%!important}
}
