/* ============================================================
   source.css - 站23 源码授权专属样式（so 前缀 · 对比卡片）
   ============================================================ */

.so-top { position:relative; overflow:hidden; text-align:center; background:linear-gradient(160deg,#fff,var(--ib-50)); padding:60px 0 50px; }
.so-h1 { font-size:37px; font-weight:800; color:var(--sl-900); margin:10px 0 15px; }
.so-lead { font-size:15px; color:var(--sl-600); max-width:600px; margin:0 auto 28px; }
.so-cta { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* 技术栈 */
.so-stack { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:820px; margin:0 auto; }
.so-stack .ibtag { padding:8px 20px; font-size:13.5px; }

/* 功能模块 */
.so-alt { background:linear-gradient(180deg,var(--sl-100),var(--ib-50)); }
.so-mods { gap:18px; }
.so-mod { background:#fff; border:var(--ibline); border-radius:var(--ibr); padding:28px 24px; transition:transform .18s, box-shadow .18s; }
.so-mod:hover { transform:translateY(-5px); box-shadow:var(--ibsh); }
.so-mod-ico {
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  font-size:25px; background:var(--ib-50); border-radius:var(--ibr-sm); margin-bottom:14px;
}
.so-mod h3 { font-size:16px; margin-bottom:8px; }
.so-mod p { font-size:13px; color:var(--sl-500); }

/* 授权对比卡片 */
.so-plans { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:860px; margin:0 auto; }
.so-plan { position:relative; background:#fff; border:var(--ibline); border-radius:var(--ibr-lg); padding:34px 30px; }
.so-plan-hot { border:2px solid var(--ib-500); box-shadow:var(--ibsh); }
.so-plan .ibtag { position:absolute; top:22px; right:22px; }
.so-plan-name { font-size:19px; font-weight:800; color:var(--sl-800); margin-bottom:18px; }
.so-plan ul { display:flex; flex-direction:column; gap:12px; }
.so-plan ul li { position:relative; padding-left:26px; font-size:14px; color:var(--sl-600); }
.so-plan ul li::before { content:"✓"; position:absolute; left:0; color:var(--ib-600); font-weight:800; }

.so-faq { max-width:820px; margin:0 auto; }
.so-btn-on-dark { color:#fff; border-color:rgba(255,255,255,.6); }
.so-btn-on-dark:hover { color:#fff; border-color:#fff; background:rgba(255,255,255,.1); }

@media (max-width:900px) {
  .so-plans { grid-template-columns:1fr; }
  .so-mods { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .so-h1 { font-size:28px; }
  .so-mods { grid-template-columns:1fr; }
}
