/*
 * 科仪有维资源协作统一最终版
 * 文件路径：/skin/kyywgov/css/resource.css
 * 适用：
 * - 需求广场列表页
 * - 工程师资源列表页
 * - 服务机构资源库列表页
 * - 设备配件资源列表页
 * - 资源协作封面页的基础兼容
 *
 * 说明：
 * 1. 所有规则均限制在 .kyyw-resource-page / .kyyw-resource-cover 范围内；
 * 2. 不修改公共头部、公共导航、公共尾部；
 * 3. 四个栏目统一页面结构、筛选区、分页和移动端表现；
 * 4. 各栏目列表卡片保留各自适合的信息结构。
 */

/* =========================================================
   1. 页面基础
   ========================================================= */
.kyyw-resource-page,
.kyyw-resource-cover{
  --resource-blue:#0b4a98;
  --resource-blue-dark:#073b7c;
  --resource-red:#d0181f;
  --resource-text:#17395f;
  --resource-muted:#667b93;
  --resource-border:#d6e2f0;
  --resource-border-light:#e5edf5;
  --resource-bg:#f2f6fb;
  --resource-white:#fff;

  padding:24px 0 56px;
  background:var(--resource-bg);
  color:var(--resource-text);
}

.kyyw-resource-page *,
.kyyw-resource-page *::before,
.kyyw-resource-page *::after,
.kyyw-resource-cover *,
.kyyw-resource-cover *::before,
.kyyw-resource-cover *::after{
  box-sizing:border-box;
}

.kyyw-resource-page .kyyw-container,
.kyyw-resource-cover .kyyw-container{
  width:1200px;
  max-width:calc(100% - 32px);
  margin:0 auto;
}

/* =========================================================
   2. 面包屑
   ========================================================= */
.kyyw-resource-page .kyyw-crumb,
.kyyw-resource-cover .kyyw-crumb{
  margin:0 0 18px;
  padding:0 0 12px;
  border-bottom:1px solid #dbe5f0;
  color:#60738b;
  font-size:14px;
  line-height:1.7;
}

.kyyw-resource-page .kyyw-crumb a,
.kyyw-resource-cover .kyyw-crumb a{
  color:#51657f;
  text-decoration:none;
}

.kyyw-resource-page .kyyw-crumb a:hover,
.kyyw-resource-cover .kyyw-crumb a:hover{
  color:var(--resource-blue);
}

/* =========================================================
   3. 左右布局和侧栏
   ========================================================= */
.kyyw-resource-layout{
  display:flex;
  align-items:flex-start;
  gap:28px;
}

.kyyw-resource-sidebar{
  flex:0 0 250px;
  width:250px;
  overflow:hidden;
  border:1px solid var(--resource-border);
  background:var(--resource-white);
  box-shadow:0 4px 16px rgba(21,66,120,.05);
}

.kyyw-resource-side-title{
  padding:22px 24px;
  border-top:5px solid var(--resource-red);
  background:var(--resource-blue);
  color:#fff;
}

.kyyw-resource-side-title h2{
  margin:0;
  font-size:24px;
  font-weight:700;
  line-height:1.25;
}

.kyyw-resource-side-title span{
  display:block;
  margin-top:7px;
  font-size:12px;
  line-height:1.5;
  letter-spacing:1.4px;
  opacity:.82;
  text-transform:uppercase;
}

.kyyw-resource-nav{
  margin:0;
  padding:0;
  list-style:none;
}

.kyyw-resource-nav li{
  margin:0;
  border-bottom:1px solid #edf2f8;
}

.kyyw-resource-nav li:last-child{
  border-bottom:0;
}

.kyyw-resource-nav a{
  position:relative;
  display:block;
  padding:17px 22px 17px 36px;
  background:#fff;
  color:#153d70;
  font-size:16px;
  line-height:1.5;
  text-decoration:none;
}

.kyyw-resource-nav a::before{
  content:"";
  position:absolute;
  top:50%;
  left:22px;
  width:4px;
  height:15px;
  background:var(--resource-red);
  opacity:.35;
  transform:translateY(-50%);
}

.kyyw-resource-nav li.active > a,
.kyyw-resource-nav a.active,
.kyyw-resource-nav a:hover{
  background:#eef5ff;
  color:#003f8f;
  font-weight:700;
}

.kyyw-resource-nav li.active > a::before,
.kyyw-resource-nav a.active::before{
  opacity:1;
}

/* =========================================================
   4. 主体和标题
   ========================================================= */
.kyyw-resource-main{
  flex:1;
  min-width:0;
  padding:36px 40px 44px;
  border:1px solid var(--resource-border);
  background:#fff;
  box-shadow:0 4px 18px rgba(21,66,120,.05);
}

.kyyw-resource-head{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
  padding-bottom:20px;
  border-bottom:3px solid var(--resource-blue);
}

.kyyw-resource-head::before{
  content:"";
  position:absolute;
  bottom:-3px;
  left:0;
  width:92px;
  height:3px;
  background:var(--resource-red);
}

.kyyw-resource-head h1{
  margin:0;
  color:#003b7a;
  font-size:32px;
  font-weight:800;
  line-height:1.25;
}

.kyyw-resource-head p{
  margin:8px 0 0;
  color:#71839b;
  font-size:15px;
  line-height:1.8;
}

.kyyw-resource-head > span{
  flex:0 0 auto;
  margin-top:9px;
  color:#9aa8bd;
  font-size:14px;
  line-height:1.5;
  letter-spacing:1.3px;
  text-transform:uppercase;
}

/* =========================================================
   5. 分类筛选
   ========================================================= */
.kyyw-filter-box{
  display:flex;
  align-items:flex-start;
  margin-bottom:22px;
  padding:16px 18px;
  border:1px solid #dfe8f2;
  background:#f7faff;
}

.kyyw-filter-title{
  flex:0 0 86px;
  width:86px;
  padding-top:5px;
  color:#173d6c;
  font-size:15px;
  font-weight:700;
  line-height:1.6;
}

.kyyw-filter-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  min-width:0;
}

.kyyw-filter-links a{
  display:inline-block;
  padding:5px 11px;
  color:#4c6178;
  font-size:14px;
  line-height:1.6;
  text-decoration:none;
  white-space:nowrap;
}

.kyyw-filter-links a:hover,
.kyyw-filter-links a.active{
  background:var(--resource-blue);
  color:#fff;
}

.kyyw-filter-empty{
  padding:5px 0;
  color:#8796a8;
  font-size:14px;
}

/* =========================================================
   6. 通用列表和标签
   ========================================================= */
.kyyw-resource-list{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.kyyw-card-tags{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.kyyw-tag{
  display:inline-block;
  padding:4px 10px;
  border:1px solid #dbe9f8;
  background:#edf5ff;
  color:#0752a0;
  font-size:13px;
  line-height:1.5;
}

.kyyw-tag--area{
  border-color:#e0e7ef;
  background:#f3f7fb;
  color:#345f88;
}

.kyyw-tag--urgent{
  border-color:#ffd5c7;
  background:#fff1eb;
  color:#b33b1d;
}

.kyyw-card-empty-image{
  display:flex;
  width:100%;
  height:100%;
  min-height:140px;
  align-items:center;
  justify-content:center;
  background:#f4f7fa;
  color:#9aa8b8;
  font-size:14px;
}

.kyyw-card-link{
  color:#0752a0;
  text-decoration:none;
}

.kyyw-card-link:hover{
  color:#003f8f;
  text-decoration:underline;
}

/* =========================================================
   7. 需求广场卡片
   ========================================================= */
.kyyw-demand-card{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  padding:22px;
  border:1px solid #d8e3ef;
  background:#fff;
  box-shadow:0 2px 8px rgba(15,65,118,.035);
}

.kyyw-demand-card__image{
  display:flex;
  min-height:165px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #e0e8f0;
  background:#f5f7fa;
}

.kyyw-demand-card__image img{
  display:block;
  width:100%;
  height:100%;
  min-height:165px;
  object-fit:cover;
}

.kyyw-demand-card__body{
  min-width:0;
}

.kyyw-demand-card__titleline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-bottom:14px;
}

.kyyw-demand-card__titleline h2{
  margin:0;
  color:#123d6c;
  font-size:22px;
  line-height:1.45;
}

.kyyw-demand-card__titleline h2 a{
  color:#123d6c;
  text-decoration:none;
}

.kyyw-demand-card__titleline h2 a:hover{
  color:var(--resource-blue);
}

.kyyw-demand-card dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  border-top:1px solid var(--resource-border-light);
  border-left:1px solid var(--resource-border-light);
}

.kyyw-demand-card dl > div{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  border-right:1px solid var(--resource-border-light);
  border-bottom:1px solid var(--resource-border-light);
}

.kyyw-demand-card dl > div.kyyw-card-full{
  grid-column:1 / -1;
}

.kyyw-demand-card dt{
  padding:11px 12px;
  background:#f6f9fc;
  color:#173d6c;
  font-size:14px;
  font-weight:700;
}

.kyyw-demand-card dd{
  min-width:0;
  margin:0;
  padding:11px 12px;
  color:#405a75;
  font-size:14px;
  line-height:1.7;
  word-break:break-word;
}

/* =========================================================
   8. 工程师卡片
   ========================================================= */
.kyyw-engineer-card{
  padding:22px;
  border:1px solid #d8e3ef;
  background:#fff;
  box-shadow:0 2px 8px rgba(15,65,118,.035);
}

.kyyw-engineer-card__titleline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-bottom:14px;
}

.kyyw-engineer-card__titleline h2{
  margin:0;
  font-size:22px;
  line-height:1.45;
}

.kyyw-engineer-card__titleline h2 a{
  color:#123d6c;
  text-decoration:none;
}

.kyyw-engineer-card__titleline h2 a:hover{
  color:var(--resource-blue);
}

.kyyw-engineer-card dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  border-top:1px solid var(--resource-border-light);
  border-left:1px solid var(--resource-border-light);
}

.kyyw-engineer-card dl > div{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  border-right:1px solid var(--resource-border-light);
  border-bottom:1px solid var(--resource-border-light);
}

.kyyw-engineer-card dl > div.kyyw-card-full{
  grid-column:1 / -1;
}

.kyyw-engineer-card dt{
  padding:11px 12px;
  background:#f6f9fc;
  color:#173d6c;
  font-size:14px;
  font-weight:700;
}

.kyyw-engineer-card dd{
  min-width:0;
  margin:0;
  padding:11px 12px;
  color:#405a75;
  font-size:14px;
  line-height:1.7;
  word-break:break-word;
}

/* =========================================================
   9. 服务机构卡片
   ========================================================= */
.kyyw-org-card{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:22px;
  min-height:190px;
  padding:22px;
  border:1px solid #d8e3ef;
  background:#fff;
  box-shadow:0 2px 8px rgba(15,65,118,.035);
}

.kyyw-org-card__logo{
  display:flex;
  width:100%;
  min-height:146px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #e0e8f0;
  background:#f7f9fb;
}

.kyyw-org-card__logo img{
  display:block;
  max-width:88%;
  max-height:146px;
  object-fit:contain;
}

.kyyw-org-card__body{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.kyyw-org-card__titleline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-bottom:12px;
}

.kyyw-org-card__titleline h2{
  margin:0;
  font-size:22px;
  line-height:1.45;
}

.kyyw-org-card__titleline h2 a{
  color:#123d6c;
  text-decoration:none;
}

.kyyw-org-card__titleline h2 a:hover{
  color:var(--resource-blue);
}

.kyyw-org-card__contact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  border-top:1px solid var(--resource-border-light);
  border-left:1px solid var(--resource-border-light);
}

.kyyw-org-card__contact > div{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  border-right:1px solid var(--resource-border-light);
  border-bottom:1px solid var(--resource-border-light);
}

.kyyw-org-card__contact dt{
  padding:11px 12px;
  background:#f6f9fc;
  color:#173d6c;
  font-size:14px;
  font-weight:700;
}

.kyyw-org-card__contact dd{
  min-width:0;
  margin:0;
  padding:11px 12px;
  color:#405a75;
  font-size:14px;
  line-height:1.7;
  word-break:break-word;
}

.kyyw-org-card__intro{
  position:relative;
  height:50px;
  margin-top:13px;
  padding-right:92px;
  overflow:hidden;
  color:#526a82;
  font-size:14px;
  line-height:25px;
}

.kyyw-org-card__intro-text{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  word-break:break-word;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.kyyw-org-card__more{
  position:absolute;
  right:0;
  bottom:0;
  z-index:2;
  padding-left:10px;
  background:#fff;
  color:#0752a0;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

/* =========================================================
   10. 设备配件卡片
   ========================================================= */
.kyyw-equipment-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.kyyw-equipment-card{
  display:flex;
  min-width:0;
  overflow:hidden;
  flex-direction:column;
  border:1px solid #dce5ef;
  background:#fff;
  box-shadow:0 3px 14px rgba(15,65,118,.055);
}

.kyyw-equipment-card__image{
  display:block;
  padding:14px 14px 0;
  text-decoration:none;
}

.kyyw-equipment-card__image img{
  display:block;
  width:100%;
  height:190px;
  object-fit:contain;
  border:1px solid #edf2f7;
  background:#f4f7fa;
}

.kyyw-equipment-card__image .kyyw-card-empty-image{
  height:190px;
  min-height:190px;
  border:1px solid #edf2f7;
}

.kyyw-equipment-card__body{
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
  padding:14px 16px 17px;
}

.kyyw-equipment-card__tags{
  margin-bottom:9px;
}

.kyyw-equipment-card__title{
  min-height:56px;
  margin:0 0 12px;
  font-size:18px;
  line-height:1.55;
}

.kyyw-equipment-card__title a{
  color:#123d6c;
  text-decoration:none;
}

.kyyw-equipment-card__title a:hover{
  color:var(--resource-blue);
}

.kyyw-equipment-card__meta{
  padding:10px 0;
  border-top:1px solid #edf2f7;
  border-bottom:1px solid #edf2f7;
}

.kyyw-equipment-card__meta p{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:8px;
  margin:5px 0;
  color:#50667e;
  font-size:14px;
  line-height:1.6;
}

.kyyw-equipment-card__meta span{
  color:#7a8da2;
}

.kyyw-equipment-card__price{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:12px;
}

.kyyw-equipment-card__price span{
  color:#7a8da2;
  font-size:13px;
}

.kyyw-equipment-card__price strong{
  color:#e24a24;
  font-size:20px;
  line-height:1.4;
}

/* =========================================================
   11. 分页
   ========================================================= */
.kyyw-pagination{
  margin-top:28px;
  color:#66758a;
  font-size:14px;
  text-align:center;
}

.kyyw-pagination a,
.kyyw-pagination b,
.kyyw-pagination span{
  display:inline-block;
  min-width:34px;
  height:34px;
  margin:3px;
  padding:0 9px;
  border:1px solid #dce5ef;
  background:#fff;
  color:#52677f;
  line-height:32px;
  text-decoration:none;
}

.kyyw-pagination b,
.kyyw-pagination a:hover{
  border-color:var(--resource-blue);
  background:var(--resource-blue);
  color:#fff;
}

/* =========================================================
   12. 资源协作封面基础兼容
   ========================================================= */
.kyyw-resource-cover__panel{
  padding:36px 40px 44px;
  border:1px solid var(--resource-border);
  background:#fff;
  box-shadow:0 4px 18px rgba(21,66,120,.05);
}

.kyyw-resource-cover__head{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
  padding-bottom:20px;
  border-bottom:3px solid var(--resource-blue);
}

.kyyw-resource-cover__head::before{
  content:"";
  position:absolute;
  bottom:-3px;
  left:0;
  width:92px;
  height:3px;
  background:var(--resource-red);
}

.kyyw-resource-cover__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.kyyw-resource-cover__item{
  padding:24px;
  border:1px solid #dbe6f2;
  background:#fff;
}

/* =========================================================
   13. 平板和手机版
   ========================================================= */
@media(max-width:1024px){
  .kyyw-resource-layout{
    gap:20px;
  }

  .kyyw-resource-sidebar{
    flex-basis:220px;
    width:220px;
  }

  .kyyw-resource-main{
    padding:30px 26px 36px;
  }

  .kyyw-equipment-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .kyyw-resource-page,
  .kyyw-resource-cover{
    padding-top:16px;
  }

  .kyyw-resource-layout{
    display:block;
  }

  .kyyw-resource-sidebar{
    width:100%;
    margin-bottom:16px;
  }

  .kyyw-resource-side-title{
    display:none;
  }

  .kyyw-resource-nav{
    display:flex;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }

  .kyyw-resource-nav li{
    flex:0 0 auto;
    border-right:1px solid #edf2f8;
    border-bottom:0;
  }

  .kyyw-resource-nav a{
    padding:13px 18px;
    font-size:15px;
  }

  .kyyw-resource-nav a::before{
    display:none;
  }

  .kyyw-resource-main{
    padding:24px 18px 30px;
  }

  .kyyw-resource-head h1{
    font-size:28px;
  }

  .kyyw-demand-card{
    grid-template-columns:1fr;
  }

  .kyyw-demand-card__image{
    height:230px;
  }

  .kyyw-demand-card__image img{
    min-height:230px;
  }

  .kyyw-org-card{
    grid-template-columns:1fr;
  }

  .kyyw-org-card__logo{
    height:190px;
  }

  .kyyw-resource-cover__grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .kyyw-resource-page .kyyw-container,
  .kyyw-resource-cover .kyyw-container{
    max-width:calc(100% - 24px);
  }

  .kyyw-resource-main{
    padding:20px 13px 24px;
  }

  .kyyw-resource-head{
    display:block;
    margin-bottom:18px;
    padding-bottom:16px;
  }

  .kyyw-resource-head h1{
    font-size:25px;
  }

  .kyyw-resource-head p{
    font-size:14px;
  }

  .kyyw-resource-head > span{
    display:none;
  }

  .kyyw-filter-box{
    display:block;
    padding:13px;
  }

  .kyyw-filter-title{
    width:auto;
    margin-bottom:9px;
    padding-top:0;
  }

  .kyyw-filter-links{
    gap:7px;
  }

  .kyyw-filter-links a{
    padding:5px 9px;
    font-size:13px;
  }

  .kyyw-demand-card,
  .kyyw-engineer-card,
  .kyyw-org-card{
    padding:14px;
  }

  .kyyw-demand-card__image{
    height:190px;
    min-height:190px;
  }

  .kyyw-demand-card__image img{
    min-height:190px;
  }

  .kyyw-demand-card__titleline h2,
  .kyyw-engineer-card__titleline h2,
  .kyyw-org-card__titleline h2{
    width:100%;
    font-size:19px;
  }

  .kyyw-demand-card dl,
  .kyyw-engineer-card dl,
  .kyyw-org-card__contact{
    grid-template-columns:1fr;
  }

  .kyyw-demand-card dl > div.kyyw-card-full,
  .kyyw-engineer-card dl > div.kyyw-card-full{
    grid-column:auto;
  }

  .kyyw-demand-card dl > div,
  .kyyw-engineer-card dl > div,
  .kyyw-org-card__contact > div{
    grid-template-columns:82px minmax(0,1fr);
  }

  .kyyw-org-card__intro{
    height:auto;
    min-height:50px;
    padding-right:0;
  }

  .kyyw-org-card__more{
    position:static;
    display:inline-block;
    margin-top:4px;
    padding-left:0;
  }

  .kyyw-equipment-list{
    grid-template-columns:1fr;
  }

  .kyyw-equipment-card__image img,
  .kyyw-equipment-card__image .kyyw-card-empty-image{
    height:210px;
    min-height:210px;
  }

  .kyyw-resource-cover__panel{
    padding:22px 14px 28px;
  }
}
