/* ============================================================
   portal.css — 梯帮手门户样式（2026-08-16）
   商务蓝风格（与系统 toper.css 同色系），PC/移动自适应
   rem 基准 html=10px（与全站一致）
   ============================================================ */
:root{
  --p-primary:#1a73e8;
  --p-primary-dark:#1558b0;
  --p-primary-light:#e8f0fe;
  --p-bg:#eef1f6;
  --p-card:#ffffff;
  --p-text:#2c3e50;
  --p-muted:#7a8699;
  --p-border:#dfe5ee;
  --p-radius:10px;
  --p-shadow:0 2px 12px rgba(20,40,80,.08);
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ font-size:10px; -webkit-text-size-adjust:100%; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
  font-size:1.4rem; color:var(--p-text); background:var(--p-bg); line-height:1.6;
}
img{ max-width:100%; border:0; }
a{ text-decoration:none; color:var(--p-primary); }
ul{ list-style:none; }
.container{ max-width:1200px; margin:0 auto; padding:0 1.6rem; }

/* ---------------- 顶部导航 ---------------- */
.p-header{
  position:sticky; top:0; z-index:99;
  background:#1a73e8;
  background-image:linear-gradient(135deg,var(--p-primary-dark) 0%,var(--p-primary) 60%,#4a90e2 100%);
  box-shadow:0 2px 10px rgba(21,88,176,.25);
}
.p-header-in{ display:flex; align-items:center; justify-content:space-between; height:6rem; gap:1rem; }
.p-logo{ display:flex; align-items:center; gap:1rem; color:#fff; }
.p-logo img{ width:3.4rem; height:3.4rem; border-radius:6px; flex:none; }
.p-logo-txt{ font-size:2rem; font-weight:700; line-height:1.2; }
.p-logo-txt small{ display:block; font-size:1.1rem; font-weight:400; opacity:.85; letter-spacing:.1rem; }
.p-nav{ display:flex; align-items:center; gap:.4rem; }
.p-nav a{
  display:block; color:#fff; padding:.8rem 1.4rem; border-radius:6px;
  font-size:1.5rem; transition:background .18s ease;
}
.p-nav a:hover{ background:rgba(255,255,255,.18); }
.p-nav a.on{ background:rgba(255,255,255,.25); font-weight:600; }
.p-nav .p-login{
  margin-left:1rem; background:#fff; color:var(--p-primary);
  font-weight:700; padding:.7rem 1.8rem; border-radius:20px;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.p-nav .p-login:hover{ background:#f2f7ff; }
.p-burger{ display:none; flex-direction:column; gap:.5rem; background:none; border:0; padding:.8rem; cursor:pointer; }
.p-burger span{ width:2.4rem; height:.3rem; background:#fff; border-radius:2px; transition:transform .2s; }
.p-burger.open span:nth-child(1){ transform:translateY(.8rem) rotate(45deg); }
.p-burger.open span:nth-child(2){ opacity:0; }
.p-burger.open span:nth-child(3){ transform:translateY(-.8rem) rotate(-45deg); }

/* ---------------- 首页 Banner ---------------- */
.p-banner{
  background:linear-gradient(120deg,#0d47a1 0%,#1a73e8 55%,#42a5f5 100%);
  color:#fff; padding:3.2rem 0;
}
.p-banner-in{ display:flex; gap:2.4rem; align-items:stretch; }
.p-banner-main{ flex:1; min-width:0; }
.p-banner-title{ font-size:2.6rem; font-weight:700; margin-bottom:1.6rem; line-height:1.4; }
.p-banner-list{ display:flex; flex-direction:column; gap:.6rem; }
.p-banner-list a{
  color:#fff; display:flex; gap:1rem; align-items:baseline; padding:.7rem 1.2rem;
  background:rgba(255,255,255,.1); border-radius:8px; font-size:1.5rem;
  transition:background .18s;
}
.p-banner-list a:hover{ background:rgba(255,255,255,.22); }
.p-banner-list .d{ flex:none; font-size:1.2rem; color:#cfe3ff; }
.p-banner-list .t{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.p-banner-side{ flex:none; width:30rem; }
.p-banner-side .p-card{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; }
.p-banner-side .p-card h3{ color:#fff; border-color:rgba(255,255,255,.6); }
.p-banner-side .p-card a{ color:#fff; }
.p-banner-side .p-card a:hover{ color:#dce9ff; }

/* ---------------- 卡片 & 区块 ---------------- */
.p-card{
  background:var(--p-card); border-radius:var(--p-radius);
  box-shadow:var(--p-shadow); padding:1.8rem;
}
.p-sec{ margin-top:2.4rem; }
.p-sec-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem; }
.p-sec-head h2{
  font-size:1.9rem; color:var(--p-text); padding-left:1.1rem;
  border-left:.5rem solid var(--p-primary); line-height:1.3;
}
.p-more{ font-size:1.3rem; color:var(--p-muted); }
.p-more:hover{ color:var(--p-primary); }

/* 列表（资讯/招标通用） */
.p-list{ display:flex; flex-direction:column; }
.p-list li{ display:flex; gap:1.2rem; align-items:baseline; padding:1rem 0; border-bottom:1px dashed var(--p-border); }
.p-list li:last-child{ border-bottom:0; }
.p-list .d{ flex:none; width:8.4rem; font-size:1.2rem; color:var(--p-muted); font-variant-numeric:tabular-nums; }
.p-list .t{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--p-text); }
.p-list .t:hover{ color:var(--p-primary); }
.p-list .tag{ flex:none; font-size:1.1rem; color:var(--p-primary); background:var(--p-primary-light); padding:.2rem .8rem; border-radius:10px; }

/* 网格（品牌/企业） */
.p-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(20rem,1fr)); gap:1.4rem; }
.p-grid-4{ grid-template-columns:repeat(auto-fill,minmax(24rem,1fr)); }

/* 品牌卡片 */
.p-brand-card{
  display:flex; align-items:center; gap:1.2rem; background:#fff; border-radius:var(--p-radius);
  box-shadow:var(--p-shadow); padding:1.4rem; transition:transform .18s, box-shadow .18s;
}
.p-brand-card:hover{ transform:translateY(-3px); box-shadow:0 6px 18px rgba(20,40,80,.14); }
.p-brand-logo{
  flex:none; width:5.4rem; height:5.4rem; border-radius:8px; overflow:hidden;
  background:var(--p-primary-light); display:flex; align-items:center; justify-content:center;
  font-size:2.2rem; font-weight:700; color:var(--p-primary);
}
.p-brand-logo img{ width:100%; height:100%; object-fit:contain; }
.p-brand-name{ font-size:1.6rem; font-weight:700; color:var(--p-text); }
.p-brand-en{ font-size:1.1rem; color:var(--p-muted); margin-top:.2rem; }
.p-brand-meta{ font-size:1.2rem; color:var(--p-muted); margin-top:.3rem; }

/* 企业卡片 */
.p-comp-card{ background:#fff; border-radius:var(--p-radius); box-shadow:var(--p-shadow); padding:1.6rem; transition:transform .18s, box-shadow .18s; }
.p-comp-card:hover{ transform:translateY(-3px); box-shadow:0 6px 18px rgba(20,40,80,.14); }
.p-comp-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:.8rem; }
.p-comp-name{ font-size:1.6rem; font-weight:700; color:var(--p-text); line-height:1.35; }
.p-comp-name a{ color:inherit; }
.p-comp-name a:hover{ color:var(--p-primary); }
.p-badge{ flex:none; font-size:1.1rem; color:var(--p-primary); background:var(--p-primary-light); padding:.2rem .8rem; border-radius:10px; white-space:nowrap; }
.p-badge.ok{ color:#0a8f4e; background:#e6f7ee; }
.p-comp-meta{ font-size:1.2rem; color:var(--p-muted); display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; margin-bottom:.6rem; }
.p-comp-intro{ font-size:1.3rem; color:#4a5a70; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ---------------- 筛选条 ---------------- */
.p-filter{ background:#fff; border-radius:var(--p-radius); box-shadow:var(--p-shadow); padding:1.2rem 1.6rem; margin-bottom:1.6rem; display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.p-filter .f-label{ font-size:1.3rem; color:var(--p-muted); margin-right:.4rem; }
.p-filter a{
  font-size:1.3rem; color:var(--p-text); padding:.4rem 1rem; border-radius:14px; border:1px solid var(--p-border);
}
.p-filter a:hover{ border-color:var(--p-primary); color:var(--p-primary); }
.p-filter a.on{ background:var(--p-primary); border-color:var(--p-primary); color:#fff; }

/* ---------------- 分页 ---------------- */
.pager{ display:flex; justify-content:center; gap:.8rem; margin-top:2rem; flex-wrap:wrap; }
.pager a{
  min-width:3.6rem; text-align:center; padding:.7rem 1rem; background:#fff; border:1px solid var(--p-border);
  border-radius:6px; color:var(--p-text); font-size:1.3rem;
}
.pager a:hover{ border-color:var(--p-primary); color:var(--p-primary); }
.pager a.on{ background:var(--p-primary); border-color:var(--p-primary); color:#fff; }

/* ---------------- 详情页 ---------------- */
.p-detail{ max-width:860px; margin:2.4rem auto 0; }
.p-article{ padding:2.6rem; }
.p-article h1{ font-size:2.4rem; line-height:1.4; margin-bottom:1.2rem; }
.p-article .p-meta{ font-size:1.3rem; color:var(--p-muted); padding-bottom:1.4rem; border-bottom:1px solid var(--p-border); margin-bottom:1.8rem; }
.p-article .p-meta span{ margin-right:1.6rem; }
.p-article .p-body{ font-size:1.5rem; line-height:1.9; color:#333f52; word-break:break-word; }
.p-article .p-body p{ margin-bottom:1.2rem; }
.p-article .p-body img{ border-radius:6px; margin:.8rem 0; max-width:100%; height:auto; display:block; }
.p-pn{ margin-top:2rem; padding-top:1.4rem; border-top:1px dashed var(--p-border); font-size:1.3rem; display:flex; flex-direction:column; gap:.6rem; }
.p-pn a{ color:var(--p-text); }
.p-pn a:hover{ color:var(--p-primary); }

/* 信息表（招标/企业详情） */
.p-info{ width:100%; border-collapse:collapse; margin-bottom:1.6rem; font-size:1.4rem; }
.p-info th,.p-info td{ border:1px solid var(--p-border); padding:.9rem 1.2rem; text-align:left; }
.p-info th{ background:#f7fafd; width:13rem; color:#4a5a70; font-weight:600; white-space:nowrap; }

/* 故障代码表 */
.p-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:1.2rem; }
.p-table{ width:100%; border-collapse:collapse; font-size:1.35rem; min-width:56rem; }
.p-table th,.p-table td{ border:1px solid var(--p-border); padding:.8rem 1rem; text-align:left; vertical-align:top; }
.p-table thead th{ background:var(--p-primary-light); color:var(--p-primary-dark); font-weight:700; white-space:nowrap; }
.p-table tbody tr:nth-child(even){ background:#fafcff; }
.p-table .code{ font-family:Consolas,Monaco,monospace; font-weight:700; color:#c62828; white-space:nowrap; }
.p-search{ display:flex; gap:.8rem; margin-bottom:1.4rem; flex-wrap:wrap; }
.p-search input{
  flex:1; min-width:20rem; padding:.9rem 1.2rem; border:1px solid var(--p-border); border-radius:6px; font-size:1.4rem;
}
.p-search button{ padding:.9rem 2rem; background:var(--p-primary); color:#fff; border:0; border-radius:6px; font-size:1.4rem; cursor:pointer; }
.p-search button:hover{ background:var(--p-primary-dark); }

/* CTA 按钮（首页入驻引导） */
.p-cta{
  display:inline-block; background:var(--p-primary); color:#fff;
  padding:1rem 3.4rem; border-radius:24px; font-size:1.6rem; font-weight:700;
  box-shadow:0 4px 14px rgba(26,115,232,.3); transition:background .18s, transform .18s;
}
.p-cta:hover{ background:var(--p-primary-dark); color:#fff; transform:translateY(-2px); }

/* ---------------- 表单 ---------------- */
.p-form{ max-width:68rem; margin:0 auto; }
.p-form .f-row{ display:flex; flex-wrap:wrap; gap:1.6rem; margin-bottom:1.4rem; }
.p-form .f-item{ flex:1 1 30rem; }
.p-form label{ display:block; font-size:1.35rem; color:#4a5a70; margin-bottom:.5rem; }
.p-form label i{ color:#e64340; font-style:normal; }
.p-form input[type=text],.p-form input[type=tel],.p-form select,.p-form textarea{
  width:100%; padding:1rem 1.2rem; border:1px solid var(--p-border); border-radius:6px; font-size:1.4rem; font-family:inherit; background:#fff;
}
.p-form input:focus,.p-form select:focus,.p-form textarea:focus{ outline:none; border-color:var(--p-primary); box-shadow:0 0 0 3px rgba(26,115,232,.12); }
.p-form textarea{ resize:vertical; min-height:12rem; }
.p-form .f-submit{ text-align:center; margin-top:2rem; }
.p-form .f-submit button{ padding:1.1rem 4rem; background:var(--p-primary); color:#fff; border:0; border-radius:6px; font-size:1.6rem; cursor:pointer; }
.p-form .f-submit button:hover{ background:var(--p-primary-dark); }
.p-tip{ font-size:1.2rem; color:var(--p-muted); margin-top:1rem; text-align:center; }
.p-msg{ padding:1.2rem; border-radius:6px; margin-bottom:1.6rem; font-size:1.4rem; display:none; }
.p-msg.ok{ display:block; background:#e6f7ee; color:#0a8f4e; border:1px solid #b7e6cd; }
.p-msg.err{ display:block; background:#fdecec; color:#c62828; border:1px solid #f5c6c6; }

/* ---------------- 页脚 ---------------- */
.p-footer{ margin-top:3.2rem; background:#22303f; color:#aab8c8; padding:2.6rem 0 2rem; font-size:1.3rem; }
.p-footer-in{ text-align:center; }
.p-footer-links{ display:flex; justify-content:center; flex-wrap:wrap; gap:.6rem 1.8rem; margin-bottom:1.4rem; }
.p-footer-links a{ color:#c8d4e0; }
.p-footer-links a:hover{ color:#fff; }
.p-footer a{ color:#8fb4e8; }
.p-footer-note{ margin-top:.8rem; font-size:1.15rem; color:#7f8ea0; }

/* ---------------- 空状态 ---------------- */
.p-empty{ text-align:center; color:var(--p-muted); padding:4rem 0; font-size:1.5rem; }

/* ---------------- 响应式：平板/手机 ---------------- */
@media (max-width:900px){
  .p-banner-side{ display:none; }
  .p-header-in{ height:5.4rem; }
}
@media (max-width:760px){
  .p-burger{ display:flex; }
  .p-nav{
    position:fixed; top:5.4rem; left:0; right:0; z-index:98;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--p-primary-dark);
    max-height:0; overflow:hidden; transition:max-height .25s ease;
    box-shadow:0 6px 16px rgba(0,0,0,.25);
  }
  .p-nav.open{ max-height:40rem; overflow-y:auto; }
  .p-nav a{ border-bottom:1px solid rgba(255,255,255,.12); border-radius:0; padding:1.2rem 2rem; }
  .p-nav .p-login{ margin:1rem 2rem 1.4rem; text-align:center; }
  .p-logo-txt{ font-size:1.8rem; }
  .p-banner{ padding:2.2rem 0; }
  .p-banner-title{ font-size:2rem; }
  .p-grid{ grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr)); gap:1rem; }
  .p-article{ padding:1.6rem; }
  .p-article h1{ font-size:1.9rem; }
  .p-list .d{ width:auto; }
  .p-list li{ flex-wrap:wrap; gap:.4rem 1rem; }
  .p-list .t{ flex-basis:100%; white-space:normal; }
  .p-info th{ width:9.5rem; }
}
