.page-main{margin: 5px auto 20px;}
.panel{border:1px solid var(--line);background:#fff}
/* ============================================================
   04. 生产经营型主体档案
   ============================================================ */
.profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:21px 24px 15px}
.title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.title-row h1{margin:0;color:#24332a;font-size:25px;line-height:1.4}
.mode-tag,.type-tag{padding:2px 7px;border:1px solid #c8d2cb;color:#59665e;font-size:10px}
.mode-tag{border-color:#b8d5c1;background:var(--green-soft);color:var(--green)}
.business-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.business-tags span{padding:3px 8px;border:1px solid #c8ddcf;background:#fbfefc;color:var(--green);font-size:11px}
.profile-stats{display:flex;gap:18px;padding-top:5px;color:var(--muted);font-size:11px;white-space:nowrap}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 44px;margin:0 24px;padding:17px 19px;background:#f7f9f8;font-size: 14px;}
.info-line{display:grid;grid-template-columns:102px minmax(0,1fr);gap:8px;min-width:0}
.info-line.wide{grid-column:1/-1}
.info-label{color:var(--muted)}
.info-value{overflow-wrap:anywhere;color:#26342c;font-weight:600}
.info-group{display:flex;flex-direction:column;gap:10px;min-width:0}
.info-group .info-line{grid-template-columns:102px minmax(0,1fr);line-height:1.5}
.info-group-title{margin:0 0 2px;color:var(--green);font-size:15px}
.profile-contact-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px 24px 22px}
.profile-contact-actions .action-card{min-height:58px;padding:0 12px}
.profile-contact-actions button.action-card{font-family:inherit;cursor:pointer}
.profile-contact-actions button.action-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.profile-summary{grid-column:1/-1;padding-top:14px;border-top:1px solid var(--line)}
.profile-summary-row{display:grid;grid-template-columns:102px minmax(0,1fr);gap:8px;line-height:1.8}
.profile-intro-text,.profile-scope-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.profile-summary.is-collapsed .profile-intro-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.profile-scope-row{margin-top:12px}
.profile-summary-toggle{display:block;margin:10px auto 0;padding:6px 18px;min-height:32px;border:0;background:transparent;color:var(--green);font:inherit;font-size:12px;cursor:pointer}
.profile-summary-toggle:hover{text-decoration:underline}
.profile-summary-toggle:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.profile .info-grid{align-items:start;row-gap:14px}
@media(max-width:700px){
    .profile .info-grid{grid-template-columns:minmax(0,1fr);margin:0 12px;padding:14px;gap:18px}
    .info-group .info-line{grid-template-columns:102px minmax(0,1fr)}
    .profile-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 12px 16px}
    .profile-summary-row{grid-template-columns:minmax(0,1fr);gap:4px}
}
.summary-line{grid-column:1/-1;display:grid;grid-template-columns:102px minmax(0,1fr);gap:8px;padding-top:11px;border-top:1px solid var(--line)}
.summary-box{position:relative;min-width:0;padding-right:46px}
.summary-text{display:-webkit-box;overflow:hidden;margin:0;color:var(--text);line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:1}
.summary-box.expanded .summary-text{display:block}
.summary-toggle{position:absolute;top:0;right:0;padding:0;border:0;background:0 0;color:var(--green);font-size:12px}
.summary-toggle:hover{color:var(--orange)}
.profile-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px 24px 22px}
.action-card{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);background:#fbfcfb;color:var(--muted);font-size:9px}
.action-card strong{display:block;color:#304037;font-size:13px}
.action-card.primary{border-color:#a8ceb4;background:var(--green-soft)}
.action-card.primary strong{color:var(--green)}
.action-card:hover{border-color:#9fc4aa;background:var(--green-soft)}


/* ============================================================
   05. 主内容布局与通用区块标题
   ============================================================ */
.provider-business{display:grid;gap:10px;margin-top:10px}
.business-pair{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;align-items:stretch}
.business-pair>.panel{min-width:0}
.business-pair .provider-products{display:flex;flex-direction:column;min-height:409px}
.provider-services{display:flex;flex-direction:column}
.provider-products>.section-head,.provider-services>.section-head{flex-shrink:0}
.provider-products>.product-note{margin-top:auto}
.provider-jump{display:flex;align-items:center;gap:24px;margin-top:10px;padding:12px 16px;border:1px solid var(--line);background:#fff;color:var(--green)}
.provider-jump small{margin-left:5px;color:var(--muted)}
.provider-jump>span{margin-left:auto;font-size:11px;color:var(--muted)}
.business-advice{display:flex;flex-direction:column}
.advice-context{margin:0;padding:11px 14px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}
.advice-list{margin:0;padding:4px 16px 4px 34px;color:var(--green);font-size:12px}
.advice-list li{padding:9px 0;border-bottom:1px solid var(--line)}
.advice-list li:last-child{border-bottom:0}
.advice-list h3{margin:0 0 3px;font-size:13px;color:#34463b}
.advice-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:900px){
    .business-pair{grid-template-columns:minmax(0,1fr)}
    .business-pair .provider-products{min-height:0}
    .business-pair .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
    .business-pair .product-grid,.business-pair .service-grid{grid-template-columns:minmax(0,1fr)}
}
.section-head{height:47px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#fbfcfb}
.section-head h2{margin:0;padding:0 15px;color:var(--green);font-size:17px}
.section-head p{margin:0;color:var(--muted);font-size:10px}


/* ============================================================
   06. 经营产品：provider_product + operation_type
   ============================================================ */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(162px,auto);align-content:start;min-height:400px;gap:10px;padding:12px}
.product-card{position:relative;min-width:0;min-height:162px;padding:14px;border:1px solid var(--line);background:#fff;transition:border-color .15s,box-shadow .15s;cursor: pointer;}
.product-card:hover{border-color:#94bfa0;box-shadow:0 4px 12px rgba(20,68,40,.07)}
.product-card.primary{border-color:#a9cdb4;background:var(--green-soft)}
.product-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.product-name{overflow:hidden;color:#174b2a;font-size:18px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
.primary-tag{flex:none;padding:2px 7px;border:1px solid #e5b779;background:var(--orange-soft);color:var(--orange);font-size:9px}
.product-summary{display:-webkit-box;min-height:38px;margin-top:8px;overflow:hidden;color:#667169;font-size:10px;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.operation-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px dashed #d5e0d8}
.operation-label{margin-right:2px;color:var(--muted);font-size:9px}
.operation-tag{padding:2px 6px;border:1px solid #bfd8c8;background:#fff;color:#256b43;font-size:9px}
.product-note,.service-note{margin:auto 12px 13px;padding:9px 11px;border-top:1px dashed var(--line);background:#fbfcfb;color:var(--muted);font-size:9px}
.product-note strong,.service-note strong{color:#34433a}


/* ============================================================
   07. 辅助服务事项与侧栏
   ============================================================ */
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:111px;min-height:360px;align-content:start;align-items:start;gap:10px;padding:12px}
.service-card{min-width:0;height:111px;display:flex;flex-direction:column;padding:13px;border:1px solid var(--line);cursor: pointer;}
.service-card:hover{border-color:#9fc4aa;background:var(--green-soft)}
.service-name{flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#2d3c33;font-size:14px;font-weight:700}
.service-desc{flex:1;min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:6px 0 0;color:#68756d;font-size:10px;line-height:1.75}
.service-card .service-entry,.service-card .service-action{flex-shrink:0}
.service-action{margin-top:8px;color:var(--green);text-align:right;font-size:10px;font-weight:700}
.service-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}
[v-cloak]{display:none}
.provider-entry-dialog{max-width:calc(100% - 32px)}
.entry-dialog-name{margin:0 0 18px;color:#26342c;font-size:17px;overflow-wrap:anywhere}
.entry-dialog-label{margin:0 0 8px;color:#606266}
.entry-dialog-value{padding:12px;background:#f5f7f6;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}
.entry-dialog-tip,.entry-dialog-phone{margin:14px 0 0;line-height:1.7;overflow-wrap:anywhere}
.entry-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.entry-dialog-actions .el-button+.el-button{margin-left:0}
.side-body{padding:6px 13px 10px}
.fact-line{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:9px 1px;border-bottom:1px solid var(--line-soft);font-size:11px}
.fact-line:last-child{border-bottom:0}
.fact-line span{color:var(--muted)}
.fact-line strong{color:#324138;font-weight:600}
.tag-cloud{display:flex;gap:6px;flex-wrap:wrap;padding:12px 13px}
.tag-cloud a{padding:4px 8px;border:1px solid var(--line);background:#fff;color:#536058;font-size:10px}
.tag-cloud a:hover{border-color:var(--green);background:var(--green-soft);color:var(--green)}
.local-list{padding:3px 13px 8px}
.local-provider{display:block;padding:9px 1px;border-bottom:1px solid var(--line-soft)}
.local-provider:last-child{border-bottom:0}
.local-provider strong{display:block;overflow:hidden;color:#334239;font-size:11px;white-space:nowrap;text-overflow:ellipsis}
.local-provider span{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.local-provider:hover strong{color:var(--green)}

/* ============================================================
   08. 继续查找与密集目录推荐
   ============================================================ */
.directory{margin-top:10px;padding:4px 17px 11px}
.directory-group{padding:10px 0;border-bottom:1px solid var(--line)}
.directory-group:last-child{border-bottom:0}
.directory-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.directory-head h2{margin:0;color:#173c26;font-size:13px}
.directory-head a{color:var(--muted);font-size:10px}
.directory-links{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px 17px;margin-top:6px}
.directory-links a{min-width:0;overflow:hidden;color:#526158;font-size:11px;white-space:nowrap;text-overflow:ellipsis}
.directory-links a:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.directory-empty{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.8}
.seo-note{margin-top:10px;padding:13px 16px;color:#647169;font-size:10px;line-height:1.8}
.seo-note strong{color:var(--green)}

/* ============================================================
   09. 详情页动态化补充样式
   ============================================================ */
.info-value.info-link{color:var(--green);word-break:break-all;text-decoration:underline;text-underline-offset:3px}
.service-entry{display:block;margin-top:7px;overflow:hidden;color:var(--muted);font-size:9px;white-space:nowrap;text-overflow:ellipsis}
.empty-note{margin:12px;padding:26px 14px;border:1px dashed var(--line);color:var(--muted);font-size:11px;text-align:center}
.business-tags span{white-space:nowrap}
.product-card{display:flex;flex-direction:column;text-decoration:none}
.product-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.product-contact-text{display:block;margin-top:auto;padding-top:12px;text-align:right;color:var(--green);font-size:12px;font-weight:600}
.service-card a.service-action{display:inline-block;text-decoration:none}
.directory-rows{display:grid}
.directory-rows .directory-group:last-child{border-bottom:0}
.directory-rows.folded .directory-group:nth-child(n+3){display:none}
.directory-more{display:block;width:100%;margin-top:6px;padding:9px 0;border:1px dashed var(--line);background:#fbfcfb;color:var(--green);font-size:12px;line-height:1;cursor:pointer}
.directory-more:hover{border-color:var(--green);background:var(--green-soft)}

/* ============================================================
   10. 同类型就近主体推荐
   ============================================================ */
.nearby{margin-top:10px}
.nearby .section-head{padding-right:16px}
.nearby .section-head p{margin-left:auto;padding-right:16px;white-space:nowrap}
.nearby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(72px,auto);align-content:start;min-height:178px;gap:10px;padding:12px}
.nearby-card{cursor:pointer;position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name dist" "area area";column-gap:10px;row-gap:7px;align-content:start;padding:12px 14px;border:1px solid var(--line);border-radius:5px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.nearby-card::before{content:"";position:absolute;inset:0 auto auto 0;width:3px;height:100%;border-radius:5px 0 0 5px;background:transparent;transition:background-color .15s}
.nearby-card strong{grid-area:name;overflow:hidden;align-self:center;color:#1f2922;font-size:14px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
.nearby-card .nearby-dist{grid-area:dist;align-self:center;padding:2px 8px;border:1px solid #cde0d3;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:10px;white-space:nowrap}
.nearby-card small{grid-area:area;overflow:hidden;color:var(--muted);font-size:10px;white-space:nowrap;text-overflow:ellipsis}
.nearby-card small::before{content:"";display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;background:#b9cfbf;vertical-align:1px}
.nearby-card:hover{border-color:#94bfa0;box-shadow:0 6px 14px rgba(20,68,40,.09);transform:translateY(-1px)}
.nearby-card:hover::before{background:#7da78a}
.nearby-card:hover strong{color:var(--green)}
.nearby-card:focus-visible{outline:2px solid var(--green);outline-offset:1px}
@media(max-width:900px){.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-jump>span{display:none}.section-head p{display:none}}
@media(max-width:520px){.nearby-grid{grid-template-columns:minmax(0,1fr)}}
