/* ============================================================
   招标雷达 · 前台共用样式（列表页 / 详情页 / 首页区块）
   三个主题共用这一份：颜色全部走 --bid-* 令牌，
   各主题只需在自己的 main.css 里覆盖 7 个令牌即可换肤。
   加载：三个主题的 header.php 统一 <link>，无需按页面判断。
   ============================================================ */

:root{
  --bid-surface:#fff;
  --bid-surface-2:#f5f8fc;
  --bid-line:#e6ecf5;
  --bid-tx:#132544;
  --bid-tx-2:#4e5f7d;
  --bid-tx-3:#8895ac;
  --bid-accent:#2563eb;
  --bid-accent-soft:rgba(37,99,235,.08);
  --bid-danger:#dc2626;
  --bid-radius:16px;
  --bid-shadow:0 8px 24px -12px rgba(19,45,98,.14);
}

/* ---------------- 首页区块 ---------------- */
.bid-list{display:flex;flex-direction:column;gap:12px}
.bid-item{display:flex;align-items:center;gap:18px;padding:18px 22px;background:var(--bid-surface);border:1px solid var(--bid-line);border-radius:var(--bid-radius);transition:.28s;box-shadow:var(--bid-shadow)}
.bid-item:hover{transform:translateX(4px);border-color:var(--bid-accent);box-shadow:0 16px 36px -18px rgba(19,45,98,.28)}
.bid-badge{flex:0 0 auto;padding:6px 13px;border-radius:8px;background:var(--bid-accent-soft);border:1px solid var(--bid-line);color:var(--bid-accent);font-size:12.5px;font-weight:700;white-space:nowrap}
.bid-body{flex:1;min-width:0}
.bid-body h3{font-size:15.5px;line-height:1.55;font-weight:600;margin-bottom:9px;color:var(--bid-tx);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bid-meta{display:flex;flex-wrap:wrap;align-items:baseline;font-size:12.5px;line-height:1.7}
.bid-meta .k{color:var(--bid-tx-3)}
.bid-meta .v{color:var(--bid-tx-2);font-weight:500;margin:0 16px 0 5px}
.bid-meta .v:last-child{margin-right:0}
.bid-meta .v.budget{color:var(--bid-danger);font-weight:700}
.bid-meta .v.src{color:var(--bid-accent)}
.bid-left{flex:0 0 auto;padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--bid-surface-2);color:var(--bid-tx-2);border:1px solid var(--bid-line);white-space:nowrap}
.bid-left.soon{background:rgba(234,88,12,.1);color:#ea580c;border-color:rgba(234,88,12,.24)}
.bid-left.urgent{background:rgba(220,38,38,.1);color:#dc2626;border-color:rgba(220,38,38,.26)}
.bid-left.over{background:var(--bid-surface-2);color:var(--bid-tx-3)}
.bid-foot{margin-top:20px;text-align:center;font-size:12.5px;color:var(--bid-tx-3);display:flex;justify-content:space-between;align-items:center;gap:10px 18px;flex-wrap:wrap}
.bid-more{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:600;color:var(--bid-accent);text-decoration:none;white-space:nowrap;transition:.2s}
.bid-more:hover{gap:8px}

/* ---------------- 列表页：工具条 / 筛选 ---------------- */
.bid-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--bid-surface);border:1px solid var(--bid-line);border-radius:var(--bid-radius);padding:14px 18px;box-shadow:var(--bid-shadow)}
.bid-search{display:flex;align-items:center;gap:10px;flex:1 1 400px;min-width:0}
.bid-search svg{color:var(--bid-tx-3);flex:0 0 auto}
.bid-search input{flex:1;min-width:0;height:40px;border:0;border-bottom:1px solid var(--bid-line);background:transparent;font-size:14px;color:var(--bid-tx);outline:none;font-family:inherit}
.bid-search input::placeholder{color:var(--bid-tx-3)}
.bid-search input:focus{border-color:var(--bid-accent)}
.bid-clear{color:var(--bid-tx-3);text-decoration:none;font-size:19px;line-height:1;padding:0 2px}
.bid-clear:hover{color:var(--bid-accent)}
.bid-search button{height:38px;padding:0 22px;border:0;border-radius:8px;background:var(--bid-accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit}
.bid-search button:hover{filter:brightness(1.08)}
.bid-sorts{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.bid-sorts .lb{font-size:12.5px;color:var(--bid-tx-3);margin-right:4px}
.bid-sorts a{padding:6px 12px;border-radius:7px;font-size:13px;color:var(--bid-tx-2);text-decoration:none;transition:.2s;white-space:nowrap}
.bid-sorts a:hover{background:var(--bid-surface-2);color:var(--bid-accent)}
.bid-sorts a.on{background:var(--bid-accent-soft);color:var(--bid-accent);font-weight:700}

.bid-filters{background:var(--bid-surface);border:1px solid var(--bid-line);border-radius:var(--bid-radius);margin-top:14px;padding:4px 18px;box-shadow:var(--bid-shadow)}
.bid-filters .frow{display:flex;align-items:flex-start;gap:14px;padding:11px 0;border-bottom:1px dashed var(--bid-line)}
.bid-filters .frow:last-child{border-bottom:0}
.bid-filters .fl{flex:0 0 48px;font-size:13px;color:var(--bid-tx-3);line-height:26px}
.bid-filters .fv{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.bid-filters .fv a{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:7px;font-size:13px;color:var(--bid-tx-2);text-decoration:none;transition:.18s;line-height:1.6}
.bid-filters .fv a:hover{background:var(--bid-surface-2);color:var(--bid-accent)}
.bid-filters .fv a.on{background:var(--bid-accent);color:#fff;font-weight:600}
.bid-filters .fv a em{font-style:normal;font-size:11px;opacity:.62}
.bid-filters .fv a.on em{opacity:.85}

.bid-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 14px;font-size:13.5px;color:var(--bid-tx-2)}
.bid-sum b{color:var(--bid-accent);font-weight:700}
.bid-sum .muted{color:var(--bid-tx-3)}
.bid-reset{font-size:13px;color:var(--bid-tx-3);text-decoration:none;border-bottom:1px dashed var(--bid-line)}
.bid-reset:hover{color:var(--bid-accent)}

/* ---------------- 列表页：卡片 ---------------- */
.bid-page-list{gap:14px}
.bid-card{background:var(--bid-surface);border:1px solid var(--bid-line);border-radius:var(--bid-radius);padding:18px 22px;box-shadow:var(--bid-shadow);transition:.26s}
.bid-card:hover{border-color:var(--bid-accent);box-shadow:0 16px 40px -20px rgba(19,45,98,.3)}
.bid-card-head{display:flex;align-items:flex-start;gap:12px}
.bid-card-head h3{flex:1;min-width:0;font-size:16px;line-height:1.55;font-weight:600}
.bid-card-head h3 a{color:var(--bid-tx);text-decoration:none}
.bid-card-head h3 a:hover{color:var(--bid-accent)}
.bid-card .bid-left{margin-left:0}
.bid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:7px 26px;margin:14px 0 0;font-size:13px;line-height:1.6}
.bid-grid>div{display:flex;gap:8px;min-width:0}
.bid-grid>div.wide{grid-column:1/-1}
.bid-grid dt{flex:0 0 auto;color:var(--bid-tx-3);white-space:nowrap}
.bid-grid dd{margin:0;color:var(--bid-tx-2);font-weight:500;word-break:break-all}
.bid-grid dd.budget{color:var(--bid-danger);font-weight:700}
.bid-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;padding-top:12px;border-top:1px dashed var(--bid-line)}
.bid-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.bid-tags .tag-src{font-size:11.5px;color:var(--bid-accent);background:var(--bid-accent-soft);border:1px solid var(--bid-line);border-radius:6px;padding:2px 9px}
.bid-tags .tag-hit{font-size:11.5px;color:var(--bid-tx-3);background:var(--bid-surface-2);border:1px solid var(--bid-line);border-radius:6px;padding:2px 9px}
.bid-tags .tag-type{font-size:11.5px;color:#b45309;background:rgba(180,83,9,.1);border:1px solid rgba(180,83,9,.22);border-radius:6px;padding:2px 9px}
.bid-go{font-size:13px;font-weight:600;color:var(--bid-accent);text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.bid-go:hover{gap:7px}

.bid-empty{background:var(--bid-surface);border:1px dashed var(--bid-line);border-radius:var(--bid-radius);padding:56px 24px;text-align:center}
.bid-empty strong{display:block;font-size:16px;color:var(--bid-tx);margin-bottom:8px}
.bid-empty p{font-size:13.5px;color:var(--bid-tx-3);margin:0}
.bid-reset-link{display:inline-block;margin-top:14px;font-size:13.5px;color:var(--bid-accent);text-decoration:none;border-bottom:1px solid var(--bid-accent)}
.bid-note{margin-top:26px;font-size:12.5px;color:var(--bid-tx-3);line-height:1.9}
.pager .gap{padding:0 4px;color:var(--bid-tx-3)}

/* ---------------- 详情页 ---------------- */
.bid-detail{background:var(--bid-surface);border:1px solid var(--bid-line);border-radius:var(--bid-radius);padding:30px 34px;box-shadow:var(--bid-shadow)}
.bid-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:12.5px}
.bid-kicker .tag-type{font-size:11.5px;color:#b45309;background:rgba(180,83,9,.1);border:1px solid rgba(180,83,9,.22);border-radius:6px;padding:3px 10px}
.bid-kicker .tag-src{font-size:11.5px;color:var(--bid-accent);background:var(--bid-accent-soft);border:1px solid var(--bid-line);border-radius:6px;padding:3px 10px}
.bid-kicker .bid-left{margin-left:0}
.bid-dt-head .bid-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:12.5px}
.bid-dt-head .bid-badge{margin-right:2px}
.bid-dt-head h1{font-size:25px;line-height:1.5;font-weight:700;color:var(--bid-tx);letter-spacing:-.2px}
.bid-dt-sub{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;font-size:13px;color:var(--bid-tx-3)}
.bid-dt-sub b{color:var(--bid-tx-2);font-weight:600}
.bid-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:24px 0 0;background:var(--bid-surface);border:1px solid var(--bid-line);border-radius:12px;overflow:hidden}
.bid-facts>div{padding:14px 18px;box-shadow:-1px -1px 0 0 var(--bid-line)}
.bid-facts dt{font-size:12px;color:var(--bid-tx-3);margin-bottom:5px}
.bid-facts dd{margin:0;font-size:14.5px;font-weight:600;color:var(--bid-tx);word-break:break-all}
.bid-facts dd.budget{color:var(--bid-danger);font-size:16px}
.bid-sec{margin-top:30px}
.bid-sec h2{font-size:16px;font-weight:700;color:var(--bid-tx);margin-bottom:12px;padding-left:11px;border-left:3px solid var(--bid-accent);line-height:1.2}
.bid-text{font-size:14.5px;line-height:1.95;color:var(--bid-tx-2);word-break:break-word}
.bid-text p{margin:0 0 12px}
.bid-text p:last-child{margin-bottom:0}
.bid-kw{display:flex;flex-wrap:wrap;gap:7px}
.bid-kw span{font-size:12.5px;padding:4px 11px;border-radius:7px;background:var(--bid-accent-soft);border:1px solid var(--bid-line);color:var(--bid-accent);font-weight:600}
.bid-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px;padding-top:22px;border-top:1px dashed var(--bid-line)}
.bid-cta .btn-go{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 24px;border-radius:10px;background:var(--bid-accent);color:#fff;font-size:14.5px;font-weight:600;text-decoration:none;transition:.2s}
.bid-cta .btn-go:hover{filter:brightness(1.08)}
.bid-cta .btn-tel{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 20px;border-radius:10px;border:1px solid var(--bid-line);color:var(--bid-tx-2);font-size:14px;font-weight:600;text-decoration:none;transition:.2s}
.bid-cta .btn-tel:hover{border-color:var(--bid-accent);color:var(--bid-accent)}
.bid-cta .tip{font-size:12.5px;color:var(--bid-tx-3);flex:1 1 240px;line-height:1.7}
.bid-related{margin-top:34px}
.bid-related h2{font-size:16px;font-weight:700;color:var(--bid-tx);margin-bottom:12px;padding-left:11px;border-left:3px solid var(--bid-accent);line-height:1.2}
.bid-related ul{display:flex;flex-direction:column;gap:0}
.bid-related li{border-bottom:1px dashed var(--bid-line)}
.bid-related li:last-child{border-bottom:0}
.bid-related a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 2px;text-decoration:none;font-size:14px;color:var(--bid-tx-2);transition:.2s}
.bid-related a:hover{color:var(--bid-accent)}
.bid-related a span.t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bid-related a span.d{flex:0 0 auto;font-size:12.5px;color:var(--bid-tx-3)}
.bid-crumb-line{display:flex;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--bid-tx-3)}
.bid-crumb-line a{color:var(--bid-tx-3);text-decoration:none}
.bid-crumb-line a:hover{color:var(--bid-accent)}
.bid-stale{margin-top:18px;padding:14px 18px;border-radius:10px;background:rgba(220,38,38,.07);border:1px solid rgba(220,38,38,.22);font-size:13.5px;color:var(--bid-danger)}

/* ---------------- 响应式 ---------------- */
@media (max-width:900px){
  .bid-toolbar{padding:12px 14px}
  .bid-sorts{width:100%;justify-content:flex-start}
  .bid-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
  .bid-detail{padding:24px 22px}
  .bid-dt-head h1{font-size:21px}
  .bid-facts{grid-template-columns:1fr}
}
@media (max-width:760px){
  .bid-item{flex-wrap:wrap;gap:12px;padding:16px 18px}
  .bid-item:hover{transform:none}
  .bid-body h3{font-size:14.5px}
  .bid-meta{font-size:12px}
  .bid-meta .v{margin-right:12px}
  .bid-left{margin-left:auto}
  .bid-foot{flex-direction:column;align-items:flex-start;text-align:left}
}
@media (max-width:640px){
  .bid-card{padding:15px 16px}
  .bid-card-head{flex-wrap:wrap;gap:8px}
  .bid-card-head h3{font-size:15px;flex:1 1 100%;order:-1}
  .bid-card-head .bid-badge{order:0}
  .bid-card-head .bid-left{order:1;margin-left:auto}
  .bid-grid{grid-template-columns:1fr;gap:5px}
  .bid-filters .fl{flex:0 0 40px}
  .bid-search{flex:1 1 100%}
  .bid-search button{padding:0 15px}
  .bid-detail{padding:20px 16px}
  .bid-dt-head h1{font-size:19px}
  .bid-cta .btn-go{width:100%;justify-content:center}
}

/* 首页区块容器：浅色主题原来给 .sec-bid 铺白底，现统一交给 --bid-surface，这里保持透明 */
.sec-bid{background:transparent}
