/* ============================================================
   01. 公共变量与基础重置
   ============================================================ */
:root {
    --fz-green: #075c35;
    --fz-green-deep: #043d25;
    --fz-green-soft: #f1f8f3;
    --fz-paper: #f5f7f5;
    --fz-white: #fff;
    --fz-ink: #202923;
    --fz-text: #46534b;
    --fz-muted: #748078;
    --fz-line: #d8e1da;
    --fz-line-soft: #e9eeea;
    --fz-orange: #b65d1e;
    --fz-focus: #d99a2b;
    --green:#075c35;--green-deep:#043d25;--green-soft:#f1f8f3;
    --paper:#f5f7f5;--white:#fff;--ink:#202923;--text:#46534b;
    --muted:#748078;--line:#d8e1da;--line-soft:#e9eeea;
    --orange:#b65d1e;--gold:#896022;--focus:#d99a2b;
    --orange-soft: #fff7ed;
}

*{box-sizing:border-box;margin: 0;padding: 0;}

html{background:var(--fz-paper);color:var(--fz-ink);scroll-behavior:smooth}
body{margin:0;font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.45}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--fz-focus);outline-offset:2px}

.view-height{min-height:6vh}
/*02. 公共容器与面板*/
.fz-main{min-height:100vh}
.fz-view{width:min(1200px,calc(100% - 32px));margin:0 auto}
.fz-panel{border:1px solid var(--fz-line);background:var(--fz-white)}


/*03. 顶部状态栏*/
.fz-topbar{height:36px;border-bottom:1px solid var(--fz-line);background:var(--fz-white);color:var(--fz-muted);font-size:12px}
.fz-topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.fz-location-state{display:flex;align-items:center;gap:9px}
.fz-location-state>a{color:var(--fz-green);font-weight:700}
.fz-location-state>em{padding:1px 6px;border:1px solid #c4d6ca;background:var(--fz-green-soft);color:var(--fz-green);font-size:10px;font-style:normal}
.fz-topbar-links{display:flex;gap:20px}
.fz-topbar a:hover{color:var(--fz-green)}

/*  04. 品牌与全站搜索*/
.fz-header{background:var(--fz-white)}
.fz-header-inner{height:100px;display:grid;grid-template-columns:285px minmax(360px,1fr) 185px;gap:28px;align-items:center}
.fz-brand{display:flex;align-items:center;gap:11px}
.fz-brand-mark{width:52px;height:52px;}
.fz-brand-mark img{width: 100%;height: 100%;}
.fz-brand-name{display:block;color:var(--fz-green);font-size:22px;letter-spacing:.04em}
.fz-brand-desc{display:block;margin-top:2px;color:var(--fz-muted);font-size:11px}
.fz-search{height:44px;display:flex;border:2px solid var(--fz-green);background:var(--fz-white)}
.fz-search-input{min-width:0;flex:1;border:0;padding:0 14px;color:var(--fz-ink)}
.fz-search-input:focus{outline:0}
.fz-search-button{width:88px;border:0;background:var(--fz-green);color:var(--fz-white);font-weight:700;cursor:pointer}
.fz-search-button:hover{background:var(--fz-green-deep)}
.fz-header-actions{display:flex;justify-content:flex-end;gap:18px;color:var(--fz-green);font-size:13px}
.fz-header-actions a:hover{text-decoration:underline;text-underline-offset:3px}

/*朴素导航*/
.fz-plain-header{border-bottom:1px solid var(--fz-line);background:var(--fz-white)}
.fz-plain-header-inner{height:60px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fz-plain-header .fz-brand{display:flex;align-items:center;gap:10px}
.fz-plain-header .fz-brand-mark{width:36px;height:36px;}
.fz-plain-header .fz-brand strong{display:block;color:var(--fz-green);font-size:19px;letter-spacing:.03em}
.fz-plain-header .fz-brand small{display:block;margin-top:1px;color:var(--fz-muted);font-size:10px}
.fz-plain-header .page-back-home{padding:7px 12px;border:1px solid var(--fz-line);border-radius:3px;color:#526158;font-size:12px}
.fz-plain-header .page-back-home:hover{border-color:#9fc5ac;background:var(--fz-green-soft);color:var(--fz-green)}

/*   05. 主导航*/
.fz-nav{position:relative;z-index:30;height:44px;background:var(--fz-green)}
.fz-nav-inner{height:100%}
.fz-nav-list{height:100%;display:flex;align-items:stretch;margin:0;padding:0;list-style:none}
.fz-nav-item{position:relative;display:flex;align-items:stretch}
.fz-nav-link{height:100%;display:flex;align-items:center;justify-content:center;padding:0 16px;color:var(--fz-white);font-size:14px;font-weight:700;white-space:nowrap}
.fz-nav-item:not(:first-child)>.fz-nav-link::after{content:"";width:0;height:0;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.72)}
.fz-nav-item.is-active>.fz-nav-link,.fz-nav-item:focus-within>.fz-nav-link,.fz-nav-item:hover>.fz-nav-link{background:rgba(0,0,0,.18)}
.fz-nav-item.is-product{background:rgba(255,255,255,.08)}
.fz-nav-item.is-product>.fz-nav-link{font-size:13px}
.fz-nav-child{position:absolute;left:0;top:44px;display:none;min-width:136px;margin:0;padding:6px 0;border:1px solid #c8d8cd;border-top:0;background:var(--fz-white);box-shadow:0 10px 22px rgba(20,55,36,.16);list-style:none}
.fz-nav-item:focus-within>.fz-nav-child,.fz-nav-item:hover>.fz-nav-child{display:block}
.fz-nav-child li{margin:0;padding:0}
.fz-nav-child a{min-height:34px;display:flex;align-items:center;padding:0 14px;color:#26352c;font-size:13px;line-height:1.35;white-space:nowrap}
.fz-nav-child a:focus-visible,.fz-nav-child a:hover{background:var(--fz-green-soft);color:var(--fz-green);font-weight:700}
.fz-nav-child li.is-active a{background:var(--fz-green-soft);color:var(--fz-green);}
.fz-nav-child.is-wide{width:246px;grid-template-columns:1fr 1fr;padding:8px}
.fz-nav-item:focus-within>.fz-nav-child.is-wide,.fz-nav-item:hover>.fz-nav-child.is-wide{display:grid}
.fz-nav-child.is-wide a{min-height:32px;padding:0 10px;border-radius:3px}

/*  06. 页面内容占位*/
.page-main{min-height:calc(100vh - 242px);}
.page-main.plain{min-height:calc(100vh - 122px)!important;}

/*   07. 公共页脚*/
.fz-footer{border-top:1px solid var(--fz-line);background:var(--fz-white)}
.fz-footer-inner{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--fz-muted);font-size:11px}
.fz-footer-links{display:flex;gap:17px}
.fz-footer-links a:hover{color:var(--fz-green)}


/*分类筛选*/
.fz-breadcrumb{height:40px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.fz-breadcrumb a:hover{color:var(--green)}
.fz-breadcrumb strong{color:var(--text);font-weight:400}
.fz-filter-row{min-height:48px;display:grid;grid-template-columns:70px minmax(0,1fr);align-items:flex-start;padding:16px 10px;border-bottom:1px solid var(--line-soft)}
.fz-filter-row:last-child{border-bottom:0}
.fz-filter-label{color:#314139;font-size:12px;font-weight:700}
.fz-filter-options{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.fz-filter-area .fz-filter-options:not(:first-child){margin-top:15px;    background: #f8f8f8;padding: 8px 10px;}
.fz-filter-options a{padding:2px 6px;border:0;background:0 0;color:var(--text);font-size:12px}
.fz-filter-options a:hover{color:var(--green);background:var(--green-soft)}
.fz-filter-options a.is-active{background:var(--green);color:#fff;border-radius: 2px;}
.fz-filter-selected{min-height:38px;display:flex;align-items:center;gap:8px;padding:4px 14px;border-top:1px dashed #c7d2ca;background:#fbfcfb;color:var(--muted);font-size:11px}
.fz-filter-selected strong{color:var(--text)}
.fz-filter-tag{padding:2px 7px;border:1px solid #bfd2c5;background:#fff;color:var(--green)}
.fz-filter-clear{margin-left:auto;color:var(--muted);font-size:11px}
.fz-filter-clear:hover{color:var(--orange);text-decoration:underline;text-underline-offset:2px}

/*筛选结果*/
.fz-result-toolbar{height:51px;display:flex;align-items:center;margin-top:10px;padding:0 14px}
.fz-result-heading{display:flex;align-items:baseline;gap:10px}
.fz-result-heading h1{margin:0;color:var(--green);font-size:18px}
.fz-result-heading span{color:var(--muted);font-size:11px}
.fz-sorts{display:flex;align-items:center;gap:5px;margin-left:auto}
.fz-sorts a{padding:5px 9px;border:1px solid transparent;background:0 0;color:var(--muted);font-size:11px}
.fz-sorts a.is-active,.fz-sorts a:hover{border-color:#bfd2c5;background:var(--green-soft);color:var(--green)}
.fz-provider-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.fz-provider-card{min-width:0;min-height:224px;display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-top:2px solid #7da78a;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}
.fz-provider-card:hover{border-color:#87ac91;box-shadow:0 4px 12px rgba(20,68,40,.08);transform:translateY(-1px)}
.fz-card-head{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start}
.fz-card-logo{width:42px;height:42px;display:grid;place-items:center;border:1px solid #c7d9cc;background:var(--green-soft);color:var(--green);font-family:STKaiti,KaiTi,serif;font-size:18px;font-weight:700}
.fz-card-title{min-width:0}
.fz-card-title a{display:block;min-height:42px;color:#26342c;font-size:15px;font-weight:700;line-height:1.4}
.fz-card-title a:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.fz-card-meta{display:flex;align-items:center;gap:5px;margin-top:3px}
.fz-card-type{color:var(--muted);font-size:10px}
.fz-card-official{padding:0 4px;border:1px solid #d7bd8b;color:var(--gold);font-size:9px}
.fz-card-summary{display:-webkit-box;min-height:43px;margin:11px 0 8px;overflow:hidden;color:#647169;font-size:11px;line-height:1.85;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.fz-card-tags{display:flex;align-content:flex-start;flex-wrap:wrap;gap:5px;min-height:48px}
.fz-card-tags span{padding:2px 6px;border:1px solid #c9ddcf;background:var(--green-soft);color:var(--green);font-size:10px;white-space:nowrap}
.fz-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}
.fz-card-area{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;white-space:nowrap;text-overflow:ellipsis}
.fz-card-detail{flex:none;color:var(--green);font-size:11px;font-weight:700}
.fz-card-detail:hover{color:var(--orange)}

.fz-empty{
    margin: 10px auto;
    text-align: center;
    color: var(--muted);
    min-height: 400px;
    padding: 100px 0;
    font-size: 14px;
}

.fz-pager{display:flex;justify-content:center;gap:5px;margin:40px 0;}
.fz-pager a{min-width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--text);font-size:11px}
.fz-pager .is-active,.fz-pager a:hover{border-color:var(--green);background:var(--green);color:#fff}


/* 07. 供应商列表*/
.fz-result-list{margin: 10px 0;}
.provider-list-warp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.provider-item{min-width:0;height:188px;display:flex;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:5px;background:#fff}
.provider-item:hover{border:1px solid var(--green)}
.provider-item>p{display:-webkit-box;min-height:39px;margin:20px 0 14px;color:#59675e;font-size:12px;line-height:1.65;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.provider-item .item-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}
.provider-item .item-head .name{min-width:0;color:var(--green);font-size:18px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.provider-item .item-head em{flex:none;padding:2px 6px;border:1px solid #d8b478;border-radius:3px;background:#fffaf0;color:#8a5c14;font-size:10px;font-style:normal}
.provider-item .item-service-list{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;overflow:hidden}
.provider-item .item-service-list>span{flex:0 0 auto;max-width:90px;padding:3px 7px;border:1px solid #cfe0d3;border-radius:3px;background:#f8fcf8;color:#176736;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/*.provider-item .item-service-list>span:last-child{flex:1 1 auto;min-width:35px;max-width:none}*/

.provider-item .item-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;border-top:1px dashed #d8dfda;background:0 0;color:#6b776f;font-size:11px}
.provider-item .item-foot .location{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.provider-item .item-foot .view{flex:none;color:var(--green);font-weight:700}


/* 08. 平板与手机适配*/
@media (max-width:900px){.fz-header-inner{grid-template-columns:245px minmax(0,1fr)}
    .fz-header-actions{display:none}
    .fz-nav{overflow-x:auto}
    .fz-nav-inner{width:max-content;min-width:100%}
    .fz-nav-link{flex:none}
}
@media (max-width:680px){.fz-shell{width:calc(100% - 20px)}
    .fz-topbar-links{display:none}
    .fz-header-inner{height:auto;grid-template-columns:1fr;gap:10px;padding:12px 0}
    .fz-brand-mark{width:42px;height:42px;font-size:22px}
    .fz-brand-name{font-size:19px}
    .fz-nav-link.is-product-first{margin-left:0}
    .fz-footer-inner{align-items:flex-start;flex-direction:column;padding:12px 0;gap:5px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}
