/* ==========================================================================
   科斯达主题补充样式
   --------------------------------------------------------------------------
   基础版式全部沿用旧站原版 assets/custom/css/style.css（已随主题打包），
   本文件只做三件事：
     1. 补上旧站没有、但本次需求要求的交互（导航下拉、常驻搜索框）
     2. 把 GodouCMS 的数据结构与旧站的 class 名对接
     3. 移动端与列表/分页的少量适配
   主色沿用旧站： #004ea2（深蓝） / #e2eaf6（浅蓝） / #f9c000（金黄）
   ========================================================================== */

:root {
  --ksd-pri: #004ea2;
  --ksd-pri-d: #003b7c;
  --ksd-pri-l: #e2eaf6;
  --ksd-gold: #f9c000;
  --ksd-line: #e4e9f0;
  --ksd-fg: #333;
  --ksd-muted: #808080;
}

body {
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  color: var(--ksd-fg);
}

img { max-width: 100%; }
a { text-decoration: none; }

/* ---------- 1. 主导航（含「关于我们」下拉 6 个子链接） ---------- */

#yl-main-nav > ul > li { position: relative; }

#yl-main-nav > ul > li > a { display: inline-block; }

/* 下拉容器：默认隐藏，hover 展开 */
#yl-main-nav ul.ksd-sub {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 999;
  min-width: 168px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background: #fff;
  border-top: 2px solid var(--ksd-pri);
  box-shadow: 0 8px 22px rgba(0, 20, 60, .14);
}

#yl-main-nav > ul > li:hover > ul.ksd-sub { display: block; }

#yl-main-nav ul.ksd-sub > li { display: block; float: none; }

#yl-main-nav ul.ksd-sub > li > a {
  display: block;
  padding: 9px 20px;
  color: var(--ksd-fg);
  font-size: 14px;
  line-height: 1.5;
  white-space: nowrap;
  border: 0;
}

#yl-main-nav ul.ksd-sub > li > a:hover {
  background: var(--ksd-pri-l);
  color: var(--ksd-pri);
}

/* 有子菜单的父项加小箭头 */
#yl-main-nav > ul > li.ksd-has-sub > a::after {
  content: "▾";
  margin-left: 5px;
  font-size: 11px;
  opacity: .75;
}

/* ---------- 2. 常驻搜索框（旧站没有，本次需求新增） ---------- */

.ksd-search {
  display: inline-flex;
  align-items: center;
  margin-left: 16px;
  vertical-align: middle;
}

.ksd-search input[type="text"] {
  width: 168px;
  height: 34px;
  padding: 0 14px;
  font-size: 13px;
  color: var(--ksd-fg);
  background: #fff;
  border: 1px solid #d5dce6;
  border-right: 0;
  border-radius: 17px 0 0 17px;
  outline: none;
}

.ksd-search input[type="text"]:focus { border-color: var(--ksd-pri); }

.ksd-search button {
  width: 46px;
  height: 34px;
  border: 0;
  border-radius: 0 17px 17px 0;
  background: var(--ksd-pri);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

.ksd-search button:hover { background: var(--ksd-pri-d); }

/* PC 端顶部快捷栏里的搜索框：推到最右 */
.ksd-search--top {
  margin-left: auto;
  margin-right: 0;
}
.ksd-search--top input[type="text"] {
  width: 190px;
  height: 32px;
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
}
.ksd-search--top input[type="text"]::placeholder { color: rgba(255, 255, 255, .72); }
.ksd-search--top input[type="text"]:focus {
  background: #fff;
  color: var(--ksd-fg);
  border-color: #fff;
}
.ksd-search--top input[type="text"]:focus::placeholder { color: #9aa5b1; }
.ksd-search--top button { height: 32px; }

/* ---------- 3. 面包屑（旧站 .nAddress） ---------- */

.nAddress {
  padding: 14px 0;
  background: #f4f7fa;
  border-bottom: 1px solid var(--ksd-line);
  font-size: 13px;
  color: var(--ksd-muted);
}

.nAddress a { color: var(--ksd-muted); }
.nAddress a:hover { color: var(--ksd-pri); }

/* ---------- 4. 产品列表（对接 GodouCMS 数据） ---------- */

.ksd-list { padding: 34px 0 46px; }

.ksd-list .product {
  margin-bottom: 26px;
  list-style: none;
}

.ksd-list .product-link-wrapper {
  display: block;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--ksd-line);
  border-radius: 4px;
  transition: box-shadow .25s, border-color .25s, transform .25s;
}

.ksd-list .product-link-wrapper:hover {
  border-color: var(--ksd-pri);
  box-shadow: 0 10px 24px rgba(0, 40, 100, .12);
  transform: translateY(-2px);
}

.ksd-list .product-image-container {
  display: block;
  height: 210px;
  line-height: 210px;
  text-align: center;
  overflow: hidden;
  background: #fbfcfe;
}

.ksd-list .product-image {
  max-height: 200px;
  max-width: 100%;
  vertical-align: middle;
}

.ksd-list .product-name {
  display: block;
  margin: 12px 0 4px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ksd-fg);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ksd-list .product-link-wrapper:hover .product-name { color: var(--ksd-pri); }

/* 侧栏 */
.ksd-side {
  margin-bottom: 26px;
  background: #fff;
  border: 1px solid var(--ksd-line);
  border-radius: 4px;
}

.ksd-side-hd {
  height: 48px;
  line-height: 48px;
  padding: 0 18px;
  background: var(--ksd-pri);
  color: #fff;
  font-size: 16px;
  border-radius: 3px 3px 0 0;
}

.ksd-side ul { margin: 0; padding: 6px 0; list-style: none; }

.ksd-side ul li a {
  display: block;
  padding: 10px 18px;
  color: #444;
  font-size: 14px;
  border-left: 3px solid transparent;
}

.ksd-side ul li a:hover,
.ksd-side ul li a.on {
  background: var(--ksd-pri-l);
  border-left-color: var(--ksd-pri);
  color: var(--ksd-pri);
}

.ksd-side .ksd-tel { padding: 16px 18px; border-top: 1px solid var(--ksd-line); }
.ksd-side .ksd-tel b { display: block; font-size: 19px; color: var(--ksd-pri); }

/* ---------- 5. 分页 ---------- */

.ksd-pager { margin: 26px 0 10px; text-align: center; }

.ksd-pager a,
.ksd-pager span {
  display: inline-block;
  min-width: 36px;
  height: 36px;
  line-height: 34px;
  margin: 0 4px 6px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid var(--ksd-line);
  border-radius: 3px;
  color: #555;
  font-size: 13px;
}

.ksd-pager a:hover { border-color: var(--ksd-pri); color: var(--ksd-pri); }
.ksd-pager span.on { background: var(--ksd-pri); border-color: var(--ksd-pri); color: #fff; }
.ksd-pager .disabled { color: #bbb; }

/* ---------- 6. 产品详情（对接旧站 .nproduct-detail） ---------- */

.nproduct-detail { padding: 30px 0 46px; }

.nproduct-detail .product-head {
  padding-bottom: 26px;
  margin-bottom: 26px;
  border-bottom: 1px solid var(--ksd-line);
}

.nproduct-detail .product-images {
  text-align: center;
  border: 1px solid var(--ksd-line);
  border-radius: 4px;
  padding: 16px;
  background: #fff;
}

.nproduct-detail .product-image img { max-height: 380px; }

.nproduct-detail .product-title {
  margin: 0 0 16px;
  font-size: 26px;
  font-weight: 600;
  color: #222;
  line-height: 1.35;
}

.nproduct-detail .product-description {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.9;
  color: #555;
}

.nproduct-detail .product-description ul { padding-left: 20px; }

.nproduct-detail a.srbtn {
  display: inline-block;
  min-width: 132px;
  margin: 6px 12px 0 0;
  padding: 11px 26px;
  background: var(--ksd-pri);
  color: #fff;
  font-size: 15px;
  text-align: center;
  border-radius: 3px;
  transition: background .2s;
}

.nproduct-detail a.srbtn:hover { background: var(--ksd-pri-d); color: #fff; }

.nproduct-detail .product-body { font-size: 15px; line-height: 1.9; color: #444; }
.nproduct-detail .product-body img { height: auto; }
.nproduct-detail .table-responsive { overflow-x: auto; margin-bottom: 18px; }

/* 图纸下载区块（迁移时把 PDF 写进正文末尾） */
.ksd-pdf {
  margin: 22px 0;
  padding: 16px 20px;
  background: var(--ksd-pri-l);
  border-left: 3px solid var(--ksd-pri);
  border-radius: 3px;
  font-size: 14px;
}

.ksd-pdf a { color: var(--ksd-pri); font-weight: 600; }

/* ---------- 7. 文章 / 单页 ---------- */

.nNews-detail, .ksd-page { padding: 32px 0 46px; }

.nNews-detail .bews_about_bt,
.ksd-page .bews_about_bt {
  padding-bottom: 14px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--ksd-line);
}

.nNews-detail .bews_about_bt h1,
.ksd-page .bews_about_bt h1 {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 600;
  color: #222;
  line-height: 1.45;
}

.bews_about_bt_fenxiang { color: var(--ksd-muted); font-size: 13px; }

.ksd-article-body,
.nNews-detail .con,
.where .col-md-12 {
  font-size: 15px;
  line-height: 1.95;
  color: #444;
  word-wrap: break-word;
}

.ksd-article-body img,
.nNews-detail .con img,
.where img { max-width: 100%; height: auto; }

.ksd-article-body table,
.where table { max-width: 100%; }

/* ---------- 8. 首页板块 ---------- */

.ksd-sec { padding: 46px 0; }
.ksd-sec.gray { background: #f4f7fa; }

.ksd-sec-hd { margin-bottom: 30px; text-align: center; }

.ksd-sec-hd h2 {
  margin: 0 0 6px;
  font-size: 26px;
  font-weight: 600;
  color: #222;
}

.ksd-sec-hd p {
  margin: 0;
  color: var(--ksd-muted);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.ksd-sec-hd .ln {
  width: 46px;
  height: 3px;
  margin: 12px auto 0;
  background: var(--ksd-pri);
}

.ksd-more { color: var(--ksd-pri); font-size: 14px; }

.ksd-news-list { margin: 0; padding: 0; list-style: none; }

.ksd-news-list li {
  padding: 15px 0;
  border-bottom: 1px dashed var(--ksd-line);
}

.ksd-news-list li a { color: #333; font-size: 15px; }
.ksd-news-list li a:hover { color: var(--ksd-pri); }
.ksd-news-list li .dt { float: left; width: 64px; color: var(--ksd-muted); font-size: 12px; }
.ksd-news-list li p { margin: 4px 0 0 64px; color: var(--ksd-muted); font-size: 13px; }
.ksd-news-list li .tt { margin-left: 64px; }

/* ---------- 9. 搜索页 ---------- */

.ksd-search-box {
  padding: 26px;
  margin-bottom: 26px;
  background: #fff;
  border: 1px solid var(--ksd-line);
  border-radius: 4px;
  text-align: center;
}

.ksd-search-box form { display: inline-flex; max-width: 560px; width: 100%; }

.ksd-search-box input[type="text"] {
  flex: 1;
  height: 44px;
  padding: 0 16px;
  font-size: 15px;
  border: 1px solid #d5dce6;
  border-right: 0;
  border-radius: 4px 0 0 4px;
  outline: none;
}

.ksd-search-box button {
  width: 110px;
  height: 44px;
  border: 0;
  border-radius: 0 4px 4px 0;
  background: var(--ksd-pri);
  color: #fff;
  font-size: 15px;
  cursor: pointer;
}

.ksd-tabs { margin-bottom: 22px; border-bottom: 1px solid var(--ksd-line); }

.ksd-tabs a {
  display: inline-block;
  padding: 11px 22px;
  color: #555;
  font-size: 15px;
  border-bottom: 2px solid transparent;
}

.ksd-tabs a.on { color: var(--ksd-pri); border-bottom-color: var(--ksd-pri); font-weight: 600; }

.ksd-tabs a em { font-style: normal; color: var(--ksd-muted); font-size: 12px; }

.ksd-hit { padding: 16px 0; border-bottom: 1px dashed var(--ksd-line); }
.ksd-hit h3 { margin: 0 0 6px; font-size: 16px; font-weight: 500; }
.ksd-hit h3 a { color: #222; }
.ksd-hit h3 a:hover { color: var(--ksd-pri); }
.ksd-hit .meta { color: var(--ksd-muted); font-size: 12.5px; margin-bottom: 6px; }
.ksd-hit p { margin: 0; color: #666; font-size: 13.5px; line-height: 1.8; }

em.hl { font-style: normal; color: #d02b2b; font-weight: 600; }

.ksd-empty { padding: 60px 0; text-align: center; color: var(--ksd-muted); }

/* ---------- 10. 留言表单 ---------- */

.ksd-form { max-width: 620px; margin: 0 auto; }
.ksd-form .row { margin-bottom: 16px; }

.ksd-form label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  color: #444;
}

.ksd-form input,
.ksd-form textarea {
  width: 100%;
  padding: 11px 14px;
  font-size: 14px;
  font-family: inherit;
  border: 1px solid #d5dce6;
  border-radius: 4px;
  outline: none;
}

.ksd-form input:focus,
.ksd-form textarea:focus { border-color: var(--ksd-pri); }

.ksd-form button {
  padding: 12px 46px;
  background: var(--ksd-pri);
  color: #fff;
  font-size: 15px;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
}

/* ---------- 11. 移动端 ---------- */

@media (max-width: 991px) {
  .ksd-list .product-image-container { height: 180px; line-height: 180px; }
  .nproduct-detail .product-images { margin-bottom: 22px; }
  .ksd-sec { padding: 30px 0; }
}

@media (max-width: 767px) {
  #yl-main-nav ul.ksd-sub {
    position: static;
    box-shadow: none;
    border-top: 0;
    background: rgba(255, 255, 255, .06);
  }
  #yl-main-nav ul.ksd-sub > li > a { color: #fff; padding-left: 32px; }
  .ksd-search { margin: 8px 0; }
  .ksd-search input[type="text"] { width: 130px; }
  .ksd-news-list li p,
  .ksd-news-list li .tt { margin-left: 0; }
  .ksd-news-list li .dt { float: none; width: auto; }
}

/* ==========================================================================
   旧站 CSS 污染修正
   --------------------------------------------------------------------------
   旧站的 bootstrap.min.css 是被改过的，里面多了一条：

       .row li { float: left; margin: 0 5px; }

   它用的是**后代**选择器，会命中 .row 里任意层级的所有 li。
   后果：本该竖排的列表被浮动成横排，ul 因为没清浮动而高度塌陷为 0，
   后面的兄弟块直接叠上来（典型表现：「联系方式」盖在栏目列表上）。

   实测受影响的地方：
     · 侧栏栏目列表        page.html / message.html 的 .ksd-side
     · 首页新闻列表        index.html 的 .ksd-news-list
     · 产品 / 文章正文     旧站编辑器输出的正文里本身就有 <ul><li>，
                          而 show.html 把它们渲染在 .row 内

   所以这里**统一解除**，而不是逐个打补丁 —— 否则以后任何一处
   渲染进 .row 的列表都会再次踩中。

   需要浮动的旧站结构各自有特指度更高的规则，不受影响：
     #yl-property-nav ul li            (1-0-2)
     #yl-main-nav > ul > li            (1-0-2)
     #yl-secondary-nav ul li           (1-0-2)
     #cssmenu > ul > li                (1-0-2)
     #yl-main-nav ul.ksd-sub > li      (1-1-2)
     .cpmlys ul li                     (0-2-1)
   全部高于 .row li 的 (0-1-1)，且 ksd.css 在旧站样式之后加载。
   ========================================================================== */
.row li { float: none; margin: 0; }

/* 兜底：万一以后又出现带浮动的列表项，至少别让父级塌陷 */
.ksd-side ul::after,
.ksd-news-list::after { content: ''; display: block; clear: both; }
