/* ============================================================
 * apps/sites.css —— 供应商官网版式（js/apps/sites-views.js）
 *
 * ★ 这个文件存在的理由
 *
 *   0.3.2 之前官网长得都一样，因为它的样式全是从 dc.css 借来的
 *   （.dc-sec / .dc-offer 那一套卡片）。那套卡片是给"机房看板"用的，
 *   拿来做"别人的公司官网"就一眼假 —— 五家站点的骨架、配色、
 *   信息密度全都一样。
 *
 *   这个文件给每套骨架一套**自己的皮肤**：顶栏、hero、价格区、
 *   页脚的形态彼此不同，配色也各不相同。命名空间分开写
 *   （.sv-nav.dark / .sv-nav.market / …），互不污染。
 *
 * ★ 三条硬规矩
 *   1. 全部用站点自己的局部色，**不碰全局 --md-primary** ——
 *      否则改一个供应商的配色会把整个游戏的主题带偏。
 *   2. 不引任何图片 / 字体文件，logo 一律文字 + 色块（零依赖）。
 *   3. 只负责"长什么样"，一个数值都不改（钱、风险、容量都在 js 里）。
 * ============================================================ */

/* ============================================================
 * 通用原子（四套骨架都会用到的最小组件）
 * ============================================================ */
.sv-nav {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 13px; flex: none; position: sticky; top: 0; z-index: 5;
}
.sv-nav-l { display: flex; align-items: center; gap: 7px; flex: none; }
.sv-mark {
  width: 26px; height: 26px; border-radius: 6px; display: flex;
  align-items: center; justify-content: center; font-size: 11px; font-weight: 700;
  color: #FFFDFB; letter-spacing: -.3px; flex: none;
}
.sv-logo { font-size: 14.5px; font-weight: 600; letter-spacing: .3px; white-space: nowrap; }
.sv-nav-m { display: flex; gap: 13px; flex: 1; min-width: 0; overflow: hidden; }
.sv-nav-i {
  font-size: 12px; white-space: nowrap; color: inherit; opacity: .68; cursor: default;
}
.sv-nav-i.on { opacity: 1; font-weight: 600; }
.sv-sbox {
  display: flex; align-items: center; gap: 4px; flex: none; width: 118px;
  border-radius: 5px; padding: 3px 5px 3px 8px;
}
.sv-sbox input {
  flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
  font-size: 11.5px; color: inherit;
}
.sv-sbox input::placeholder { color: inherit; opacity: .5; }
.sv-sbtn { opacity: .7; display: flex; align-items: center; cursor: pointer; }

.sv-hero { padding: 30px 18px 22px; }
.sv-hero-t { font-size: 22px; line-height: 1.35; font-weight: 600; margin: 0; }
.sv-hero-s { font-size: 13px; line-height: 1.7; opacity: .8; margin: 10px 0 0; }
.sv-hero-b { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.sv-hero-cta {
  font-size: 13px; font-weight: 600; padding: 9px 20px; border-radius: 6px;
  color: #FFFDFB; cursor: default; letter-spacing: .3px;
}
.sv-hero-cta2 {
  font-size: 13px; padding: 9px 18px; border-radius: 6px; cursor: default;
  border: 1px solid currentColor; opacity: .8;
}

.sv-badges { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 16px; }
.sv-badge {
  font-size: 10.5px; padding: 3px 9px; border-radius: 20px;
  border: 1px solid currentColor; opacity: .72; white-space: nowrap;
}

.sv-sec-h {
  font-size: 15.5px; font-weight: 600; margin: 22px 16px 10px;
  padding-left: 10px; border-left: 3px solid currentColor;
}
.sv-greet {
  margin: 0 16px 12px; padding: 9px 12px; font-size: 12.5px; line-height: 1.7;
  font-style: italic; opacity: .82; border-radius: 6px;
}
.sv-footnote {
  margin: 12px 16px 4px; font-size: 11.5px; line-height: 1.7; opacity: .6;
}
.sv-dim { opacity: .62; }

/* 特性卡 */
.sv-feats { display: flex; gap: 10px; padding: 0 16px; margin-top: 4px; flex-wrap: wrap; }
.sv-feat {
  flex: 1 1 30%; min-width: 96px; padding: 13px 12px; border-radius: 8px;
}
.sv-feat-ic { display: flex; margin-bottom: 8px; opacity: .9; }
.sv-feat-t { font-size: 13px; font-weight: 600; }
.sv-feat-d { font-size: 11.5px; line-height: 1.6; opacity: .68; margin-top: 4px; }

/* 价格条目（原子） */
.sv-price { padding: 0 16px; display: flex; flex-direction: column; gap: 10px; }
.sv-pi { border-radius: 8px; padding: 13px 14px; }
.sv-pi-h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.sv-pi-n { font-size: 14px; font-weight: 600; }
.sv-pi-p { font-size: 14px; font-weight: 600; white-space: nowrap; }
.sv-pi-spec { margin-top: 9px; }
.sv-spec-r {
  display: flex; justify-content: space-between; gap: 10px;
  font-size: 11.5px; padding: 3px 0; border-bottom: 1px dashed rgba(128, 128, 128, .22);
}
.sv-spec-k { opacity: .6; }
.sv-spec-v { font-weight: 500; }
.sv-pi-note { font-size: 11.5px; line-height: 1.65; margin-top: 8px; opacity: .8; }
.sv-pi-a { margin-top: 10px; display: flex; justify-content: flex-end; }

.sv-btn {
  font-size: 12.5px; font-weight: 600; padding: 8px 18px; border-radius: 6px;
  border: 1px solid rgba(128, 128, 128, .34); background: transparent;
  color: inherit; cursor: pointer; letter-spacing: .3px;
  transition: transform .16s ease, opacity .16s ease;
}
.sv-btn:active { transform: scale(.96); }
.sv-btn[disabled] { opacity: .4; cursor: not-allowed; }
.sv-btn-pri { border-color: transparent; color: #FFFDFB; }

/* 页脚 / 版权 */
.sv-foot { margin-top: 26px; padding: 16px; font-size: 11px; line-height: 1.9; opacity: .62; }
.sv-foot-l { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; }
.sv-foot-meta { opacity: .85; }
.sv-copy {
  font-size: 10.5px; text-align: center; padding: 10px 16px 20px; opacity: .45;
}

/* 从搜索结果点进来时，命中区块短暂高亮一下 */
.sv-hit {
  animation: sv-flash 1.6s ease;
  border-radius: 8px;
}
@keyframes sv-flash {
  0%, 100% { box-shadow: none; }
  15%, 60% { box-shadow: 0 0 0 3px rgba(200, 145, 58, .55); }
}

/* ============================================================
 * 骨架 1 · tech-dark（迅捷云）—— 深色顶栏 + 蓝 hero
 * ============================================================ */
.sv-nav.dark {
  background: #14314C; color: #E4EDF4;
  border-bottom: 3px solid #1F4E79;
}
.sv-nav.dark .sv-mark { background: #2E6DA4; }
.sv-nav.dark .sv-sbox { background: rgba(255, 255, 255, .09); }

.sv-hero {
  background: linear-gradient(150deg, #1F4E79 0%, #2E6DA4 100%);
  color: #EEF4F9;
}
.sv-hero .sv-hero-cta { background: #E8A33D; color: #2A2118; }
.sv-hero .sv-hero-cta2 { color: #DCE8F1; }

.sv-feat { background: #F3F6F9; border: 1px solid #E0E8EF; }
.sv-feat-ic { color: #1F4E79; }
.sv-sec-h { border-color: #1F4E79; color: #1F4E79; }
.sv-greet { background: #F1F5F9; }
.sv-pi { background: #FBFCFD; border: 1px solid #E0E8EF; }
.sv-pi-p { color: #1F4E79; }
.sv-btn-pri { background: #1F4E79; }
.sv-st { font-weight: 600; }
.sv-st.ok { color: #58876A; }
.sv-st.mid { color: #C2913A; }
.sv-st.hi { color: #B0554E; }

/* ============================================================
 * 骨架 2 · market（母鸡市场）—— 橘黄二手市场
 * ============================================================ */
.sv-nav.market { background: #FFF3E6; color: #7A3E12; border-bottom: 2px solid #C2571A; }
.sv-nav.market .sv-mark { background: #C2571A; }
.sv-nav.market .sv-sbox { background: #FFFDFB; border: 1px solid #E7C9A8; }

.sv-tabs {
  display: flex; gap: 4px; padding: 8px 12px; overflow-x: auto;
  background: #FFF8F0; border-bottom: 1px solid #F0DFC9;
}
.sv-tab {
  font-size: 12px; padding: 5px 12px; border-radius: 14px; white-space: nowrap;
  background: #F2E3D0; color: #8A5A2B;
}
.sv-tab.on { background: #C2571A; color: #FFF6EC; font-weight: 600; }

.sv-strip { padding: 18px 16px 6px; background: #FFF8F0; }
.sv-strip-t { font-size: 18px; font-weight: 700; color: #7A3E12; }
.sv-strip-s { font-size: 12px; color: #9C7550; margin-top: 6px; line-height: 1.6; }

.sv-greet.market { background: #FDF0E1; color: #7A4A1E; }
.sv-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0 12px;
}
.sv-card {
  background: #FFFDFB; border: 1px solid #EEDCC6; border-radius: 8px;
  overflow: hidden; display: flex; flex-direction: column;
}
.sv-thumb {
  height: 62px; display: flex; align-items: center; justify-content: center;
  background: repeating-linear-gradient(45deg, #F7E8D5, #F7E8D5 8px, #F2DDC5 8px, #F2DDC5 16px);
  color: #A9754A; font-size: 12px; font-weight: 600;
}
.sv-card-b { padding: 9px 10px 11px; display: flex; flex-direction: column; flex: 1; }
.sv-card-t { font-size: 12.5px; font-weight: 600; color: #5E3410; }
.sv-card-p { font-size: 16px; font-weight: 700; color: #C2571A; margin: 4px 0; }
.sv-card-s { font-size: 10.5px; color: #8A6A48; line-height: 1.5; }
.sv-card-n { font-size: 10px; color: #A78A6C; margin: 4px 0 8px; flex: 1; }
.sv-card-b .sv-btn { width: 100%; padding: 7px; }
.sv-card-b .sv-btn-pri { background: #C2571A; }

.sv-used {
  margin: 0 12px; display: flex; gap: 10px; padding: 12px;
  background: #FFFDFB; border: 1px dashed #E0B58C; border-radius: 8px;
}
.sv-cond { display: flex; flex-direction: column; gap: 5px; flex: none; align-items: center; }
.sv-cond-tag {
  font-size: 11px; font-weight: 700; color: #FFF6EC; background: #B5761F;
  padding: 5px 9px; border-radius: 5px;
}
.sv-cond-warn { font-size: 10px; color: #B0554E; }
.sv-used-b { flex: 1; min-width: 0; }
.sv-used-b .sv-btn-pri { background: #C2571A; margin-top: 6px; }

/* ============================================================
 * 骨架 3 · free-lite（白号云 / 星尘试用）—— 白底大按钮
 * ============================================================ */
.sv-nav.lite { background: #FFFDFB; color: #2A3138; border-bottom: 1px solid #E6E4DF; }
.sv-nav.lite .sv-mark { background: #3E8E7E; }
.sv-nav.lite .sv-sbox { background: #F4F2EE; border: 1px solid #E6E4DF; }

.sv-hero.lite { background: #FFFDFB; text-align: center; padding: 34px 20px 26px; }
.sv-free-tag {
  display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: 3px;
  color: #3E8E7E; border: 2px solid #3E8E7E; border-radius: 20px;
  padding: 3px 14px; margin-bottom: 16px;
}
.sv-hero.lite .sv-hero-t { font-size: 21px; color: #22322E; }
.sv-hero.lite .sv-hero-s { color: #5C6B67; }
.sv-hero.lite .sv-hero-b { justify-content: center; }
.sv-hero.lite .sv-hero-cta {
  background: #3E8E7E; padding: 12px 34px; font-size: 14.5px; border-radius: 8px;
  box-shadow: 0 6px 16px rgba(62, 142, 126, .28);
}
.sv-hero.lite .sv-hero-cta2 { color: #3E8E7E; border-color: #3E8E7E; }

.sv-steps {
  display: flex; gap: 8px; padding: 0 16px; margin-top: 6px;
}
.sv-step {
  flex: 1; display: flex; align-items: center; gap: 7px; font-size: 11.5px;
  color: #5C6B67; background: #F4F7F6; border-radius: 8px; padding: 10px 11px;
}
.sv-step-n {
  width: 18px; height: 18px; border-radius: 50%; background: #3E8E7E; color: #FFF;
  font-size: 11px; display: flex; align-items: center; justify-content: center; flex: none;
}
.sv-hero.lite + .sv-steps { margin-top: 4px; }

.sv-nav.lite ~ .sv-sec-h { border-color: #3E8E7E; color: #2C6B5E; }
.sv-feat { background: #F7FAF9; border: 1px solid #E2EFEC; }
.sv-nav.lite ~ .sv-feats .sv-feat-ic { color: #3E8E7E; }
.sv-free { padding: 0 16px; }
.sv-free .sv-pi { background: #F7FBFA; border: 1.5px solid #CFE7E1; }
.sv-free .sv-pi-p { color: #3E8E7E; font-size: 18px; }
.sv-free .sv-btn-pri { background: #3E8E7E; padding: 10px 26px; }
.sv-mine { margin-top: 10px; }
.sv-mine-r {
  display: flex; justify-content: space-between; gap: 8px; padding: 7px 0;
  font-size: 12px; border-top: 1px solid #E6E4DF;
}

/* ============================================================
 * 骨架 4 · bulk（批发网）—— 灰蓝 + 表格价目
 * ============================================================ */
.sv-nav.bulk { background: #2F4858; color: #E7EDF1; border-bottom: 3px solid #B7410E; }
.sv-nav.bulk .sv-mark { background: #B7410E; }
.sv-nav.bulk .sv-sbox { background: rgba(255, 255, 255, .1); }

.sv-strip.bulk { background: #F4F6F7; border-bottom: 1px solid #E0E6E9; }
.sv-strip.bulk .sv-strip-t { color: #2F4858; }
.sv-strip.bulk .sv-hero-cta { background: #B7410E; color: #FFFDFB; margin-top: 12px; }
.sv-badges.bulk { padding: 12px 16px 0; color: #4A6B7C; }

.sv-nav.bulk ~ .sv-sec-h { border-color: #B7410E; color: #2F4858; }
.sv-greet { background: #F4F6F7; }

.sv-table {
  margin: 0 12px; border: 1px solid #D8E0E4; border-radius: 6px;
  /* 窄屏下 5 列放不开，允许横向滚 —— 真实的批发价目表也是要左右拖的 */
  overflow-x: auto;
}
.sv-tr { display: flex; align-items: center; min-width: 100%; }
.sv-th { position: sticky; top: 0; }
.sv-tr + .sv-tr { border-top: 1px solid #E6EDF0; }
.sv-th { background: #2F4858; color: #E7EDF1; font-size: 11.5px; font-weight: 600; }
.sv-td {
  flex: 1; min-width: 0; padding: 10px 8px; font-size: 12px; color: #33454F;
  text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sv-th .sv-td { color: #E7EDF1; }
.sv-td.sv-money { font-weight: 700; color: #B7410E; }
.sv-td.sv-act { flex: 1.5; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.sv-td-sub { font-size: 10px; color: #6B7C84; white-space: nowrap; }
.sv-td.sv-act .sv-btn { padding: 6px 12px; font-size: 11.5px; }
.sv-tr:nth-child(even) { background: #FAFBFC; }
.sv-btn-pri { background: #B7410E; }
.sv-table .sv-btn-pri { background: #B7410E; }

/* ============================================================
 * 手机窄屏回落：特性卡与商品网格挤成一列
 * （游戏本身就是窄屏 App，这里只是保证极窄时不出横向滚动）
 * ============================================================ */
@media (max-width: 380px) {
  .sv-feats { flex-wrap: wrap; }
  .sv-feat { flex: 1 1 100%; }
  .sv-grid { grid-template-columns: 1fr; }
  .sv-nav-m { display: none; }
  .sv-table .sv-td { font-size: 11px; padding: 9px 5px; }
}
