/* ============================================================
   provider.css —— 厂家详情页（收录厂家 → 厂家详情）
   信息架构对齐参考页：
   头部认证卡 → 品类/服务地区/应用场景 → 资质徽章 → 服务介绍
   → 起步价格/详细地址/官网 → 产品服务 → 企业资质 → 项目案例 → 常见问题
   颜色/间距全部引用 tokens.css，禁止裸 HEX。
   ============================================================ */

/* ---------- 头部主卡 ---------- */
.pv-hero{background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  padding:var(--space-6);border-left:var(--stroke-accent) solid var(--color-primary);}
.pv-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);}
.pv-name{font-size:var(--fs-h2);margin:0;flex:1 1 260px;min-width:0;}
.pv-verify{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:var(--fw-bold);
  padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap;}
.pv-verify.ok{background:var(--color-success-bg);color:var(--color-success-text);
  border:1px solid var(--color-success-border);}
.pv-verify.pending{background:var(--color-warning-bg);color:var(--color-warning-text);
  border:1px solid var(--color-warning-border);}
.pv-rating{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);font-weight:var(--fw-bold);
  color:var(--color-accent-600);background:var(--color-accent-50);border:1px solid var(--color-accent-300);
  padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap;}
.pv-rating .stars{letter-spacing:1px;}

/* 高亮标签（工厂/团队/从业年限） */
.pv-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-3);}
.pv-tags .pill{margin:0;}

/* 分组标签区（主营品类 / 服务地区 / 应用场景） */
.pv-groups{margin-top:var(--space-5);display:grid;gap:var(--space-4);}
.pv-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;}
.pv-group .g-label{flex:0 0 auto;font-size:var(--fs-xs);color:var(--color-text-tertiary);
  font-weight:var(--fw-bold);letter-spacing:var(--ls-tag);min-width:64px;}
.pv-group .g-items{display:flex;flex-wrap:wrap;gap:6px;}
.pv-group .g-items .tag-btn{cursor:default;}
.pv-group .g-items .tag-btn:hover{border-color:var(--color-border-strong);color:var(--color-text-secondary);}

/* 资质徽章 */
.pv-cert-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-5);
  padding-top:var(--space-5);border-top:1px dashed var(--color-border);}
.pv-cert-chip{display:inline-flex;align-items:flex-start;gap:6px;max-width:280px;
  background:var(--color-brand-50);border:1px solid var(--color-brand-200);border-radius:var(--radius-md);
  padding:6px 10px;font-size:var(--fs-xs);color:var(--color-brand-800);line-height:var(--lh-compact);}
.pv-cert-chip .c-ico{flex-shrink:0;}
.pv-cert-chip .c-name{font-weight:var(--fw-bold);}
.pv-cert-chip .c-note{color:var(--color-text-tertiary);font-size:var(--fs-xxs);}

.pv-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6);}

/* ---------- 四栏信息条：价格 / 地址 / 官网 / 联系方式 ---------- */
.pv-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-5);}
@media (max-width:1100px){.pv-info-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.pv-info-grid{grid-template-columns:1fr;}}
.pv-info-item{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  padding:var(--space-4);}
.pv-info-item .i-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);
  color:var(--color-text-tertiary);font-weight:var(--fw-bold);letter-spacing:var(--ls-tag);margin-bottom:6px;}
.pv-info-item .i-value{font-size:var(--fs-sm);color:var(--color-text-body);line-height:var(--lh-relaxed);}
.pv-info-item .i-value a{font-weight:var(--fw-medium);}
.pv-info-item.is-empty{opacity:.7;}

/* ---------- 通用区块 ---------- */
.pv-block{margin-top:var(--space-10);}
.pv-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);
  margin-bottom:var(--space-4);flex-wrap:wrap;}
.pv-block-head h2{margin:0;font-size:var(--fs-h3);}
.pv-block-head .h-note{font-size:var(--fs-xs);color:var(--color-text-tertiary);}
.pv-prose{font-size:var(--fs-body);line-height:var(--lh-relaxed);color:var(--color-text-body);
  max-width:var(--container-prose);}

/* ---------- 产品服务 ---------- */
.pv-products{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);}
@media (max-width:900px){.pv-products{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.pv-products{grid-template-columns:1fr;}}
.pv-product{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-std),transform var(--dur-std);}
.pv-product:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
/* 无实拍图时的占位封面（品牌色渐变 + 品种名首字），有图时替换为 <img> */
.pv-ph{height:110px;display:flex;align-items:center;justify-content:center;color:#fff;
  font-weight:var(--fw-bold);font-size:var(--fs-h3);letter-spacing:var(--ls-cn-title);
  background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-brand-500) 100%);}
.pv-ph.t1{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-brand-400) 100%);}
.pv-ph.t2{background:linear-gradient(135deg,var(--color-brand-600) 0%,var(--color-brand-300) 100%);}
.pv-ph.t3{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);}
.pv-ph img{width:100%;height:100%;object-fit:cover;}
.pv-product-body{padding:var(--space-4);}
.pv-product-body .p-name{font-weight:var(--fw-bold);color:var(--color-text-title);font-size:var(--fs-sm);
  margin-bottom:4px;}
.pv-product-body .p-spec{font-size:var(--fs-xs);color:var(--color-cta);font-weight:var(--fw-medium);margin-bottom:6px;}
.pv-product-body .p-desc{font-size:var(--fs-xs);color:var(--color-text-secondary);line-height:var(--lh-relaxed);}

/* ---------- 企业资质列表 ---------- */
.pv-cert-list{display:grid;gap:var(--space-3);}
.pv-cert-item{display:flex;align-items:flex-start;gap:10px;background:var(--color-surface);
  border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);}
.pv-cert-item .c-ico{flex-shrink:0;font-size:16px;line-height:1.4;}
.pv-cert-item .c-main{flex:1;min-width:0;}
.pv-cert-item .c-name{font-weight:var(--fw-bold);color:var(--color-text-title);font-size:var(--fs-sm);}
.pv-cert-item .c-note{font-size:var(--fs-xs);color:var(--color-text-tertiary);margin-top:2px;}

/* ---------- 项目案例 ---------- */
.pv-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);}
@media (max-width:760px){.pv-cases{grid-template-columns:1fr;}}
.pv-case{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  padding:var(--space-4);box-shadow:var(--shadow-sm);}
.pv-case .cs-name{font-weight:var(--fw-bold);color:var(--color-text-title);font-size:var(--fs-sm);margin-bottom:6px;}
.pv-case .cs-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.pv-case .cs-meta .pill{background:var(--color-surface-alt);color:var(--color-text-secondary);margin:0;}
.pv-case .cs-desc{font-size:var(--fs-xs);color:var(--color-text-secondary);line-height:var(--lh-relaxed);}

/* ---------- 常见问题 ---------- */
.pv-faq{display:grid;gap:var(--space-3);}
.pv-faq details{background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);}
.pv-faq summary{cursor:pointer;font-weight:var(--fw-bold);color:var(--color-text-title);font-size:var(--fs-sm);
  list-style:none;display:flex;align-items:flex-start;gap:8px;}
.pv-faq summary::-webkit-details-marker{display:none;}
.pv-faq summary::before{content:"Q";flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-sm);
  background:var(--color-primary);color:#fff;font-size:var(--fs-xxs);font-weight:var(--fw-bold);
  display:inline-flex;align-items:center;justify-content:center;margin-top:2px;}
.pv-faq details[open] summary{margin-bottom:8px;}
.pv-faq .a{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-sm);
  color:var(--color-text-body);line-height:var(--lh-relaxed);}
.pv-faq .a::before{content:"A";flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-sm);
  background:var(--color-cta);color:#fff;font-size:var(--fs-xxs);font-weight:var(--fw-bold);
  display:inline-flex;align-items:center;justify-content:center;margin-top:3px;}

/* ---------- 底部 CTA ---------- */
.pv-cta{margin-top:var(--space-10);background:var(--color-brand-50);border:1px solid var(--color-brand-200);
  border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:var(--space-4);}
.pv-cta .t{font-weight:var(--fw-bold);color:var(--color-text-title);font-size:var(--fs-h4);}
.pv-cta .s{font-size:var(--fs-sm);color:var(--color-text-secondary);margin-top:4px;}

/* ---------- 未找到 / 加载态 ---------- */
.pv-missing{text-align:center;padding:var(--space-12) var(--space-4);}
.pv-missing h2{margin-bottom:var(--space-3);}

/* ---------- 平台推荐徽章 ---------- */
.pv-rec{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:var(--fw-bold);
  padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap;
  color:var(--color-accent-700);background:var(--color-accent-50);border:1px solid var(--color-accent-300);}

/* ---------- 网站与店铺入口 ---------- */
.pv-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;}
.pv-link{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--color-surface);
  border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;min-width:0;
  transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;}
.pv-link:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.pv-link .lk-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;}
.pv-link .lk-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.pv-link .lk-plat{font-size:11px;color:var(--color-text-tertiary);letter-spacing:var(--ls-tag);}
.pv-link .lk-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-title);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pv-link .lk-go{color:var(--color-text-tertiary);font-size:13px;flex:0 0 auto;}

/* ---------- 自媒体账号 ---------- */
.pv-social{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.pv-account{display:flex;gap:12px;padding:14px;background:var(--color-surface);min-width:0;
  border:1px solid var(--color-border);border-radius:var(--radius-lg);}
.pv-account .ac-ico{width:40px;height:40px;border-radius:var(--radius-md);flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--fw-bold);font-size:16px;}
.pv-account .ac-main{flex:1;min-width:0;}
.pv-account .ac-name{font-weight:var(--fw-bold);color:var(--color-text-title);font-size:var(--fs-sm);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pv-account .ac-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;
  font-size:var(--fs-xs);color:var(--color-text-tertiary);}
.pv-account .ac-plat{display:inline-flex;align-items:center;gap:5px;}
.pv-account .ac-plat i{width:6px;height:6px;border-radius:50%;display:inline-block;}
.pv-account .ac-fans{color:var(--color-accent-600);font-weight:var(--fw-medium);}
.pv-account .ac-note{margin-top:6px;font-size:var(--fs-xs);color:var(--color-text-secondary);line-height:var(--lh-relaxed);}

@media(max-width:640px){
  .pv-links,.pv-social{grid-template-columns:1fr;}
}

/* 自媒体账号：可点击卡片 */
.pv-account.is-link{text-decoration:none;cursor:pointer;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;}
.pv-account.is-link:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.pv-account .ac-go{font-size:12px;color:var(--color-accent-600);margin-left:6px;font-weight:var(--fw-medium);}

/* 联系方式：未登录提示 */
.pv-login-tip{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;
  font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--color-accent-700);
  background:var(--color-accent-50);border:1px solid var(--color-accent-300);
  border-radius:var(--radius-pill);text-decoration:none;transition:all .18s ease;}
.pv-login-tip:hover{background:var(--color-accent-100);}
