/* pc/_supply_cards.css —— 供应方卡片墙（r1003） */
:root{
  --sc-bg:#f7f4ec; --sc-card:#ffffff; --sc-ink:#1c1c1c; --sc-dim:#555;
  --sc-line:#e2dcc8; --sc-gold:#145c43; --sc-gold2:#145c43;
  --sc-ok:#145c43; --sc-corp:#145c43; --sc-person:#1f5f8b;
}
.sc-wrap{max-width:1280px;margin:0 auto;padding:24px 20px 56px}
.sc-crumb{font-size:13px;color:var(--sc-dim);margin-bottom:12px}
.sc-crumb a{color:var(--sc-gold2);text-decoration:none}
.sc-hero{background:#ffffff;
  border:1px solid var(--sc-line);border-left:5px solid var(--sc-gold);
  border-radius:12px;padding:20px 24px;margin-bottom:16px}
.sc-hero h1{margin:0 0 8px;font-size:24px;letter-spacing:.5px;color:#3a2e1e}
.sc-hero p{margin:0;font-size:13.5px;color:var(--sc-dim);line-height:1.85}
.sc-hero b{color:var(--sc-gold2)}

.sc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  gap:10px;margin:14px 0}
.sc-stat{background:var(--sc-card);border:1px solid var(--sc-line);
  border-radius:10px;padding:12px 14px;text-align:center}
.sc-stat b{display:block;font-size:23px;color:var(--sc-gold2);line-height:1.3}
.sc-stat span{font-size:12px;color:var(--sc-dim)}

.sc-bar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;
  background:var(--sc-card);border:1px solid var(--sc-line);
  border-radius:10px;padding:11px 13px;margin:14px 0}
.sc-bar input[type=search],.sc-bar select{
  padding:7px 11px;border:1px solid #ddd2bb;border-radius:7px;
  background:#ffffff;font-size:13.5px;color:var(--sc-ink);min-width:0}
.sc-bar input[type=search]{flex:1 1 220px}
.sc-bar button{padding:7px 15px;border:1px solid #e2dcc8;background:#ffffff;
  border-radius:7px;cursor:pointer;font-size:13.5px;color:#5a4a33}
.sc-bar button:hover{border-color:#145c43;color:#145c43}
.sc-bar button.on{background:#145c43;border-color:#145c43;
  color:#fff;font-weight:600}

.sc-tabs{display:flex;gap:8px;margin:6px 0 14px;flex-wrap:wrap}
.sc-tab{padding:8px 18px;border:1px solid #e2dcc8;background:#ffffff;
  border-radius:20px;cursor:pointer;font-size:13.5px;color:#5a4a33}
.sc-tab.on{background:#145c43;border-color:#145c43;color:#fff;font-weight:600}

/* ★ r1003 王先生定版：一排四个（跟站点既有 .grid 同口径）+ 方框清晰 */
/* ★ r1003 王先生定版：所有卡片高度一致（680px），不出现长短不一 */
/* ★★ r1004 王先生定版（治「没有方框、全部乱摆」）：
   根因 = JS 把 img 与 .sc-cbody 当**兄弟节点**塞进 grid → 图文错位、且没有卡片外框。
   修法（r1004 已给 JS 加 .sc-card 外层容器）：
     ① 卡片外框：纯白底 + 1px 边框 + 6px 圆角 + 轻阴影（同首页 .gcard）
     ② 一排四个（4/3/2/1 响应式）
     ③ 图片固定 140px 高、object-fit:cover（**不压扁**，与首页 .gcard .img 完全一致）
     ④ 全页卡片等高（grid-auto-rows 固定行高 + 卡片 height 100%）
     ⑤ 字段多时正文区内部截断，卡片外形永远统一（绝不长短不一）
   高度定 560px：比供应大厅的 680px 更贴合卡片实际内容高度，
   首页 .gcard 同为「图 140px + 正文」，视觉规格统一。 */
/* ★ r1004 定版（王先生：所有卡片尺寸一模一样）：
   ① 一排四个
   ② 方框：白底 + 1px 边框 + 6px 圆角 + 轻阴影
   ③ 图片固定 140px（不压扁，与首页 .gcard .img 一致）
   ④ **全页卡片高度统一**（grid-auto-rows 固定行高 + 卡内内容超出即截断）
      → 跨排也不出现「有的 472 有的 547」的长短不一
   ⑤ 卡内底部（联系人 + 电话 + 查看手机号）永远贴底，无空白色 */
.sc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  grid-auto-rows:560px;align-items:stretch;padding-right:60px}
.sc-grid > .sc-card{height:560px;min-height:0;max-height:560px;overflow:hidden}
.sc-card .sc-cbody{overflow:hidden;min-height:0}
.sc-card .sc-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-card{background:#ffffff;border:1px solid #e2dcc8;border-radius:6px;
  overflow:hidden;display:flex;flex-direction:column;min-height:0;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  transition:box-shadow .16s,border-color .16s,transform .16s}
.sc-card:hover{border-color:#145c43;box-shadow:0 4px 16px rgba(20,92,67,.14);
  transform:translateY(-2px)}
.sc-card .sc-cimg{width:100%;height:140px;object-fit:cover;display:block;
  background:#f3ece0;border-bottom:1px solid #e2dcc8;flex:0 0 auto}
.sc-card .sc-cbody{overflow:hidden;flex:1;min-height:0}
@media(max-width:1260px){.sc-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.sc-grid{grid-template-columns:repeat(2,1fr)}}
.sc-card{background:var(--sc-card);border:1px solid var(--sc-line);
  border-radius:10px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  transition:border-color .16s,box-shadow .16s,transform .16s}
.sc-card:hover{border-color:#145c43;box-shadow:0 4px 16px rgba(0,0,0,.12);
  transform:translateY(-2px)}
/* ★ r1004：图片固定 140px 高（与首页 .gcard .img 完全一致，object-fit:cover 不压扁） */
.sc-cimg{width:100%;height:140px;object-fit:cover;background:#f3ece0;
  display:block;border-bottom:1px solid var(--sc-line);flex:0 0 auto}
/* 无图占位：与首页 .gcard .img 同高 140px，保证全页卡片等高 */
.sc-cnoimg{width:100%;height:140px;flex:0 0 auto;display:flex;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,#eef4ef,#e3ede6);
  border-bottom:1px solid var(--sc-line);color:#a9b3a0;font-size:19px;
  font-weight:600;letter-spacing:3px}
.sc-cbody{padding:13px 15px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}
.sc-ctitle{font-size:15.5px;font-weight:600;line-height:1.5;color:#1c1c1c;
  word-break:break-all}
.sc-chigh{font-size:11.5px;color:#b8860b;background:#f9f1dc;border:1px solid #ecdfba;
  border-radius:4px;padding:1px 7px;display:inline-block;margin-left:6px;
  vertical-align:middle;font-weight:500}
/* ★ r1003 药材谷主体编号徽章 */
.sc-code{font-family:Consolas,Monaco,monospace;font-size:11.5px;font-weight:600;
  color:#145c43;background:#eaf5ee;
  border:1px solid #b9d8c6;border-radius:4px;padding:2px 8px;
  display:inline-block;letter-spacing:.4px;white-space:nowrap}
.sc-code.m{color:#145c43;background:#eaf5ee;border-color:#b9d8c6}
.sc-code.p{color:#1f5f8b;background:#eef3f8;border-color:#c2d4e2}
.sc-code.s{color:#145c43;background:#eaf5ee;border-color:#b9d8c6}
.sc-codehead{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:2px}
.sc-tags{display:flex;gap:5px;flex-wrap:wrap}
.sc-tag{font-size:11.5px;padding:2px 8px;border-radius:4px;
  background:#f2f5f2;color:#3f5c4a;border:1px solid #d6e3da}
.sc-tag.corp{background:#eaf5ee;color:#145c43;border-color:#b9d8c6}
.sc-tag.person{background:#eef3f8;color:#1f5f8b;border-color:#c2d4e2}
.sc-tag.img{background:#f7f4ec;color:#8a6100;border-color:#e2dcc8}
.sc-meta{font-size:12.5px;color:#555;line-height:1.8}
.sc-meta b{color:#1c1c1c;font-weight:600}
.sc-phone{font-family:Consolas,Monaco,monospace;font-size:13px;color:#145c43;
  background:#eaf5ee;border:1px solid #b9d8c6;border-radius:5px;padding:2px 9px;
  display:inline-block}
/* ★ r1004 修：同求购卡 —— margin-top:auto 在 overflow:hidden 的 flex 列里
   会把「主营品种」推出可视区（卡片下半截空白）。改为自然流 + 限高。 */
.sc-herbs{padding-top:8px;border-top:1px dashed #e2dcc8;
  font-size:12px;color:#666;line-height:1.75;
  max-height:110px;overflow:hidden}
.sc-herbs i{font-style:normal;color:#145c43;margin-right:4px}
.sc-note{background:#f1faf5;border-left:4px solid #145c43;border-radius:0 8px 8px 0;
  padding:11px 15px;font-size:13px;color:#1a4a30;margin:14px 0;line-height:1.8}
.sc-empty{text-align:center;padding:48px 20px;color:#8c8478;font-size:14px;
  grid-column:1/-1}
.sc-pager{display:flex;gap:9px;align-items:center;justify-content:center;margin:20px 0}
.sc-pager button{padding:7px 15px;border:1px solid #e2dcc8;background:#ffffff;
  border-radius:8px;cursor:pointer;font-size:13.5px;color:#5a4a33}
.sc-pager button:disabled{opacity:.45;cursor:not-allowed}
.sc-pager span{font-size:13px;color:var(--sc-dim)}
@media(max-width:640px){
  .sc-grid{grid-template-columns:1fr}
  .sc-bar input[type=search]{flex:1 1 100%}
}

/* ★ r1003「查看手机号」按钮（与供应大厅同口径） */
.sc-reveal{font-size:12px;color:#145c43;background:#fff;border:1px solid #145c43;
  border-radius:4px;padding:1px 8px;cursor:pointer;white-space:nowrap;
  display:inline-block;font-family:inherit}
.sc-reveal:hover{background:#145c43;color:#fff}
.sc-reveal[disabled]{color:#9aa08f;border-color:#d5d8cd;cursor:not-allowed;background:#f7f7f4}
.sc-full{font-family:Consolas,Monaco,monospace;font-size:13.5px;font-weight:700;
  color:#0d5c3c;background:#eaf5ee;border:1px solid #7cc39c;border-radius:4px;
  padding:1px 9px;letter-spacing:.6px;display:inline-block}

/* ★ r1005（王先生 2026-11-05 00:03「图片和药材名要对得上」）：
   主图 = 药材谷品种真图（图=药材名）；供应商实拍图降为右下角「实拍」小徽标。 */
.yc-shot-badge{position:absolute;right:6px;bottom:6px;display:block;width:40px;height:40px;
  z-index:3;text-decoration:none;line-height:0;}
.yc-shot-badge img{display:block;width:40px;height:40px;object-fit:cover;border-radius:5px;
  border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.2);background:#f4f1e8;}
.yc-shot-badge i{position:absolute;left:0;right:0;bottom:-1px;font-style:normal;font-size:9px;
  text-align:center;color:#fff;background:rgba(20,92,67,.86);border-radius:0 0 4px 4px;
  line-height:12px;letter-spacing:.5px;}
.img-nopic{color:#8a8168;font-size:13px;letter-spacing:.5px;text-align:center;}
.img-nopic b{font-size:15px;color:#5c5543;}
.sc-card,.dm-card{position:relative;}
