/* ============================================================
 * yunqiqing.com - 云起清茶业 全站样式
 * 参考站：绿色茶叶模板 /7226/  主绿#1F8600 深绿#2C7600 亮绿#3C9B00
 * ============================================================ */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  font: 14px "Microsoft YaHei", "PingFang SC", Arial, Helvetica, sans-serif;
  color: #333; background: #fff; line-height: 1.7;
}
ul, ol, li, dl, dt, dd, p, h1, h2, h3, h4 { list-style: none; }
a { text-decoration: none; color: inherit; transition: color .25s; }
img { max-width: 100%; border: 0; vertical-align: middle; }
input, textarea, button, select { font-family: inherit; outline: none; }
.wrap { width: 1200px; max-width: 94%; margin: 0 auto; }
.left { float: left; } .right { float: right; } .clear { clear: both; }
.wrap::after, .pro-cols::after, .ns-cols::after, .foot-in::after, .about-cols::after,
.ins-cols::after, .cul-row::after, .team-row::after, .pd-row::after { content: ""; display: block; clear: both; }

/* 图片兜底 */
.img-fallback { color: #fff; text-align: center; padding: 20px; }

/* ---------- 淡入动画 ---------- */
.fade-up { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.fade-up.in { opacity: 1; transform: none; }

/* ============================================================
 * 顶部 topbox（信息栏 lotbox + 导航 menubox）
 * ============================================================ */
.topbox {
  position: relative; height: 185px; z-index: 100;
  background: linear-gradient(180deg, #f6fbf1 0%, #eaf5e0 100%);
}
.topbox::before {  /* 顶部细金线装饰 */
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #2C7600, #DFB847 55%, #2C7600);
}
.topin { position: relative; height: 100%; }
.lotbox { position: absolute; left: 0; top: 42px; display: flex; align-items: center; }
.logo-ico { width: 60px; height: 60px; flex: 0 0 auto; }
.logo-txt { margin-left: 12px; }
.logo-name { font-size: 30px; font-weight: 700; color: #1F8600; letter-spacing: 3px; line-height: 1.2; }
.logo-sub { font-size: 12px; color: #999; letter-spacing: 5px; margin-top: 4px; }
.top-tel { position: absolute; right: 0; top: 46px; display: flex; align-items: center; }
.tel-cap { font-size: 14px; color: #666; }
.tel-num { font-size: 28px; font-weight: 700; color: #377D0D; font-family: Arial, sans-serif; }
.tel-cap span { display: block; font-size: 12px; color: #DFB847; letter-spacing: 2px; }

/* --- 导航条（下探 45px 压住 banner）--- */
.menubox {
  position: absolute; left: 0; right: 0; bottom: -45px; height: 90px; z-index: 1111;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(244,250,238,.97));
  box-shadow: 0 8px 24px rgba(44,118,0,.14);
}
.menu { display: flex; width: 96%; margin: 0 auto; height: 100%; }
.menu > li { flex: 1; text-align: center; position: relative; height: 100%; }
.menu > li > a {
  display: block; width: 100%; height: 90px; line-height: 90px;
  font-size: 16px; color: #202020; position: relative; z-index: 2; border-radius: 6px;
}
.menu > li > a span { position: relative; z-index: 2; }
.menu > li:hover > a, .menu > li.active > a { color: #fff; background: #2C7600; }
.menu > li > a::after {  /* 叶形装饰：hover 浮现 */
  content: ""; position: absolute; z-index: 1; left: 50%; top: 16px;
  width: 26px; height: 26px; transform: translateX(-50%) rotate(-40deg) scale(0);
  background: #DFB847; border-radius: 50% 50% 50% 0; transition: transform .3s;
}
.menu > li:hover > a::after, .menu > li.active > a::after { transform: translateX(-50%) rotate(-40deg) scale(1); }
/* 下拉 */
.menu-2 { display: none; position: absolute; left: 6%; right: 6%; top: 88px; z-index: 99; }
.menu-2 li { background: #559031; border-radius: 8px; margin-bottom: 6px; padding: 10px 5px; line-height: 20px; text-align: center; }
.menu-2 li a { color: #fff; font-size: 14px; display: block; }
.menu-2 li:hover { background: #2C7600; }
.menu > li:hover .menu-2 { display: block; animation: dropIn .28s ease; }
@keyframes dropIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }

/* --- 移动端菜单按钮 --- */
.menu-ico { display: none; position: absolute; right: 0; top: 34px; width: 44px; height: 38px; cursor: pointer; z-index: 1200; }
.menu-ico i, .menu-ico i::before, .menu-ico i::after {
  content: ""; display: block; width: 26px; height: 3px; background: #1F8600; border-radius: 2px; margin: 6px auto 0;
}
.menu-ico i::before { width: 18px; }
.menu-ico i::after { width: 22px; }
.menu-mask { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1500; }
.m-menu {
  position: fixed; top: 0; left: -280px; width: 270px; height: 100vh; overflow-y: auto;
  background: #1F8600; z-index: 1600; padding-bottom: 40px; transition: left .3s ease;
}
.m-menu.open { left: 0; }
.m-close { position: absolute; top: 12px; right: 14px; color: #fff; font-size: 22px; cursor: pointer; line-height: 1; }
.m-tit { padding: 18px 16px 10px; color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 2px; border-bottom: 1px solid rgba(255,255,255,.2); }
.m-item { border-bottom: 1px solid rgba(255,255,255,.12); position: relative; }
.m-item > a { display: block; padding: 12px 16px; color: #fff; font-size: 15px; }
.m-plus { position: absolute; right: 14px; top: 8px; color: #fff; font-size: 20px; padding: 4px 8px; cursor: pointer; }
.m-sub { display: none; background: rgba(0,0,0,.18); }
.m-sub a { display: block; padding: 9px 16px 9px 34px; color: rgba(255,255,255,.88); font-size: 13px; border-bottom: 1px dashed rgba(255,255,255,.14); }
.m-sub a::before { content: "·"; margin-right: 8px; color: #DFB847; }

/* ============================================================
 * Banner 轮播
 * ============================================================ */
.banner { position: relative; height: 560px; overflow: hidden; background: #2b3d21; }
.b-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; }
.b-slide.on { opacity: 1; }
.b-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.b-cap {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center;
  background: linear-gradient(180deg, rgba(20,40,10,.18), rgba(20,40,10,.42));
  padding: 0 8%;
}
.cap-m {
  color: #fff; font-size: 44px; font-weight: 700; letter-spacing: 6px;
  text-shadow: 0 3px 14px rgba(0,0,0,.45); margin-bottom: 16px;
}
.cap-s {
  display: inline-block; color: #fff; font-size: 17px; letter-spacing: 4px;
  border: 1px solid rgba(255,255,255,.75); border-left: 4px solid #DFB847;
  padding: 8px 26px; background: rgba(31,134,0,.35); text-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.b-dots { position: absolute; left: 0; right: 0; bottom: 84px; text-align: center; z-index: 5; }
.b-dots i { display: inline-block; width: 34px; height: 4px; margin: 0 5px; background: rgba(255,255,255,.45); cursor: pointer; transition: background .3s; }
.b-dots i.on { background: #DFB847; }

/* ============================================================
 * 首页主体（上压 banner 60px）
 * ============================================================ */
.mainbox { position: relative; margin-top: -60px; z-index: 2; }

/* --- 产品区：左绿侧栏 + 右产品网格 --- */
.pro-sec { background: linear-gradient(180deg, #fbfdf9, #f4f9ef); padding: 40px 0 56px; }
.pro-cols { display: flex; }
.aside-col { width: 280px; flex: 0 0 280px; margin-right: 30px; }
.pro-main { flex: 1; min-width: 0; }
.pro-main-home { margin-top: 50px; }

/* 绿色侧栏 */
.pro-aside { position: relative; margin-top: 50px; background: #3C9B00; border-radius: 10px; overflow: visible; box-shadow: 0 6px 18px rgba(44,118,0,.25); }
.aside-head {
  position: relative; background: linear-gradient(135deg, #2C7600, #57a72b); border-radius: 10px 10px 0 0;
  padding: 20px 22px 16px; color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 2px;
}
.aside-head .ah-flower { position: absolute; right: 12px; top: 8px; width: 44px; height: 44px; opacity: .95; }
.aside-list { padding: 8px 0 14px; }
.aside-list li { border-bottom: 1px solid #49AE06; }
.aside-list li:last-child { border-bottom: 0; }
.aside-list a { display: flex; align-items: center; justify-content: space-between; color: #E7EFDB; padding: 13px 16px 13px 26px; font-size: 14px; }
.aside-list a:hover { background: rgba(255,255,255,.12); color: #fff; padding-left: 32px; transition: all .25s; }
.a-arrow { width: 14px; height: 14px; flex: 0 0 auto; }
.aside-more { text-align: center; padding: 14px 0 20px; }
.aside-more a {
  display: inline-block; width: 140px; line-height: 34px; border: 1px solid rgba(255,255,255,.6);
  border-radius: 17px; color: #E7EFDB; font-size: 13px; letter-spacing: 2px;
}
.aside-more a:hover { background: #fff; color: #2C7600; border-color: #fff; }

/* 区块标题 */
.sec-title { padding: 20px 10px 12px; border-bottom: 1px solid #DDDFDB; position: relative; margin-bottom: 8px; }
.t-left { display: flex; align-items: baseline; line-height: 46px; }
.t-leaf { width: 26px; height: 26px; align-self: center; margin-right: 8px; }
.t-left h2 { font-size: 24px; color: #2A843A; margin-right: 12px; line-height: 46px; }
.t-left p { font-size: 15px; color: #DFB847; letter-spacing: 1px; font-family: Arial, sans-serif; }
.t-left::after { content: ""; position: absolute; left: 6px; bottom: -2px; width: 150px; height: 3px; background: #29853A; }
.t-more { position: absolute; right: 10px; top: 34px; }
.t-more a {
  display: inline-block; padding: 0 18px; line-height: 30px; border: 1px solid #3C9B00;
  border-radius: 15px; color: #3C9B00; font-size: 12px;
}
.t-more a:hover { background: #3C9B00; color: #fff; }

/* 产品网格（dl: dt 图 / dd 名称条） */
.pro-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding-top: 18px; }
.pro-list dl { text-align: center; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 12px rgba(0,0,0,.06); transition: transform .3s, box-shadow .3s; }
.pro-list dl:hover { transform: translateY(-6px); box-shadow: 0 12px 24px rgba(44,118,0,.18); }
.pro-list dt { position: relative; overflow: hidden; }
.pro-list dt img { width: 100%; height: 190px; object-fit: cover; display: block; transition: transform .5s; }
.pro-list dl:hover dt img { transform: scale(1.08); }
.pro-list dt::before {  /* 白色扫光 */
  content: ""; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; z-index: 2;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.55), transparent);
  transform: skewX(-18deg); transition: left .7s ease;
}
.pro-list dl:hover dt::before { left: 130%; }
.pro-list dd a {
  display: block; color: #fff; line-height: 40px; background: #569635;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px;
}
.pro-list dl:hover dd a { background: #2C7600; }

/* --- 关于我们（浅绿底） --- */
.about-sec { background: #E9F6DE; padding: 34px 0 48px; }
.about-cols { display: flex; align-items: center; margin-top: 26px; }
.about-imgbox { width: 42%; flex: 0 0 42%; position: relative; }
.about-imgbox img { width: 100%; height: 330px; object-fit: cover; border: 8px solid #2C7600; border-radius: 4px; display: block; }
.about-dia { position: absolute; right: -34px; top: 14%; width: 110px; height: 110px; z-index: 1; }
.about-txt { flex: 1; min-width: 0; margin-left: 6%; line-height: 2; color: #555; text-align: justify; }
.about-txt p { margin-bottom: 10px; }
.about-tags { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 12px; }
.about-tags span {
  display: inline-flex; align-items: center; padding: 6px 16px; background: #fff;
  border: 1px solid #a9cf8f; border-radius: 18px; color: #2C7600; font-size: 13px;
}
.about-tags span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #DFB847; margin-right: 8px; }

/* --- 新闻 + 联系（7:5） --- */
.news-sec { padding: 34px 0 56px; background: #fff; }
.ns-cols { display: flex; gap: 30px; }
.ns-l { flex: 7; min-width: 0; }
.ns-r { flex: 5; min-width: 0; }
.news-fea { display: flex; padding: 22px 1%; }
.nf-img { width: 236px; height: 153px; flex: 0 0 236px; }
.nf-img img { width: 100%; height: 100%; object-fit: cover; border: 4px solid #579C1F; border-radius: 4px; display: block; }
.nf-sum { margin-left: 22px; min-width: 0; }
.nf-tit { font-size: 17px; font-weight: 700; color: #4F4F50; margin-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nf-tit a:hover { color: #1F8600; }
.nf-txt { color: #6A6A6A; line-height: 24px; height: 96px; overflow: hidden; text-align: justify; font-size: 13px; }
.news-ul { margin-top: 6px; }
.news-ul li { line-height: 42px; padding: 0 1%; border-bottom: 1px dashed #DCDCDC; display: flex; align-items: center; }
.news-ul li a { flex: 1; min-width: 0; display: flex; align-items: center; color: #191919; }
.ni-ico { width: 15px; height: 15px; flex: 0 0 auto; margin-right: 8px; }
.news-ul li a span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.news-ul li a:hover { color: #1F8600; }
.n-date { color: #B8B8B8; font-size: 13px; padding-left: 14px; font-family: Arial, sans-serif; }

/* 服务热线盒 */
.server-box { position: relative; background: #F4FAEE; border: 1px solid #dcebd0; border-radius: 10px; padding: 26px 24px 20px; }
.sv-leaf { position: absolute; right: 14px; top: -16px; width: 46px; height: 46px; }
.sv-tit { display: inline-block; background: linear-gradient(135deg, #2C7600, #57a72b); color: #fff; font-size: 15px; letter-spacing: 3px; padding: 5px 18px; border-radius: 4px; }
.sv-tel { font-size: 34px; color: #FF9600; font-weight: 700; font-family: Arial, sans-serif; margin: 14px 0 10px; }
.sv-list { margin-top: 8px; }
.sv-list li { line-height: 30px; color: #555; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-list li b { color: #2C7600; font-weight: 600; }

/* --- 友情链接条 --- */
.friend-bar { background: #2C7600; line-height: 46px; }
.fr-in { display: flex; align-items: center; flex-wrap: wrap; }
.fr-in b { color: #EAE3D1; font-size: 15px; font-weight: 600; padding-right: 18px; }
.fr-in a { color: #EAE3D1; padding: 0 14px; border-right: 1px solid rgba(234,227,209,.5); font-size: 13px; }
.fr-in a:hover { color: #fff; }
.fr-in a:last-child { border-right: 0; }

/* ============================================================
 * 页脚（4列 + 二维码 + 版权）
 * ============================================================ */
.foot { background: #1F8600; color: #DADAC2; padding: 46px 0 0; }
.foot-in { display: flex; align-items: flex-start; padding-bottom: 30px; }
.f-col { flex: 1; min-width: 0; padding-right: 24px; }
.f-h { color: #fff; font-size: 16px; margin-bottom: 16px; letter-spacing: 2px; position: relative; padding-bottom: 10px; }
.f-h::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: #DFB847; }
.f-txt { font-size: 13px; line-height: 24px; text-align: justify; color: #cfe3bf; }
.f-links li, .f-contact li { line-height: 30px; font-size: 13px; }
.f-links a { color: #DADAC2; }
.f-links a:hover { color: #fff; padding-left: 4px; }
.f-contact li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.f-qr { flex: 0 0 130px; text-align: center; }
.f-qr img { width: 97px; height: 97px; background: #fff; padding: 4px; border-radius: 6px; display: block; margin: 0 auto; }
.f-qr p { margin-top: 8px; font-size: 12px; }
.foot-cr { border-top: 1px solid rgba(255,255,255,.18); text-align: center; line-height: 30px; padding: 14px 0 18px; font-size: 12.5px; color: #cfe3bf; }
.foot-cr a { color: #DADAC2; text-decoration: underline; }
.foot-cr a:hover { color: #fff; }

/* ============================================================
 * 右侧浮动工具条
 * ============================================================ */
.quickbar { position: fixed; right: 0; top: 22%; z-index: 1300; }
.qb-item { position: relative; width: 54px; height: 54px; background: #1F8600; color: #fff; margin-bottom: 4px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 4px 0 0 4px; }
.qb-item:hover { background: #2C7600; }
.qb-item svg { width: 24px; height: 24px; }
.qb-pop {
  position: absolute; right: 64px; top: 0; background: #fff; border: 1px solid #3C9B00; border-radius: 6px;
  padding: 10px 14px; display: none; box-shadow: 0 6px 18px rgba(0,0,0,.15); white-space: nowrap;
}
.qb-item:hover .qb-pop { display: block; }
.qb-tel { color: #1F8600; font-size: 18px; font-weight: 700; }
.qb-qr img { width: 110px; height: 110px; display: block; }
.qb-qr p { text-align: center; color: #666; font-size: 12px; margin-top: 4px; }
.qb-top { background: #569635; }

/* ============================================================
 * 内页
 * ============================================================ */
.ins-banner { position: relative; height: 260px; overflow: hidden; margin-top: -45px; }
.ins-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ins-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(25,55,12,.1), rgba(25,55,12,.5)); }
.ins-cap { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; text-align: center; }
.ins-cap h2 { font-size: 32px; letter-spacing: 5px; text-shadow: 0 2px 10px rgba(0,0,0,.45); }
.ins-cap p { margin-top: 8px; font-size: 13px; letter-spacing: 4px; color: #DFB847; }

.ins-wrap { background: #fff; padding: 30px 0 60px; }
.ins-cols { display: flex; }
.ins-main { flex: 1; min-width: 0; }
.ins-title { padding: 18px 10px 12px; border-bottom: 1px solid #DDDFDB; position: relative; }
.crumb { position: absolute; right: 10px; bottom: 18px; font-size: 12.5px; color: #999; }
.crumb a { color: #888; }
.crumb a:hover { color: #1F8600; }
.crumb .cur { color: #2C7600; }

/* 移动端内页分类 */
.phone-cat { display: none; background: #F4FAEE; border: 1px solid #dcebd0; border-radius: 8px; margin-bottom: 14px; overflow: hidden; }
.pc-head { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; color: #2C7600; font-weight: 600; cursor: pointer; }
.pc-head i { font-style: normal; transition: transform .3s; }
.phone-cat.open .pc-head i { transform: rotate(90deg); }
.pc-list { display: none; border-top: 1px solid #dcebd0; }
.pc-list a { display: block; padding: 9px 14px; color: #555; border-bottom: 1px dashed #e2edD5; font-size: 13px; }
.pc-list a:hover { color: #1F8600; }

/* 通用正文 */
.main-p { padding: 20px 10px 0; }
.main-p p { margin-bottom: 14px; line-height: 2; color: #555; text-align: justify; }

/* --- 关于页 --- */
.ab-h { font-size: 18px; color: #2A843A; margin: 30px 0 16px; padding-left: 12px; border-left: 5px solid #3C9B00; }
.tl { margin: 10px 0 6px 10px; border-left: 2px solid #9fd67a; padding-left: 26px; }
.tl-item { position: relative; padding-bottom: 22px; }
.tl-item::before { content: ""; position: absolute; left: -33px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: #DFB847; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #3C9B00; }
.tl-y { font-size: 20px; font-weight: 700; color: #1F8600; font-family: Arial, sans-serif; }
.tl-t { color: #666; margin-top: 4px; }
.cul-row { display: flex; gap: 18px; margin: 6px 0 10px; }
.cul-card { flex: 1; background: #F4FAEE; border-top: 3px solid #3C9B00; border-radius: 0 0 8px 8px; padding: 24px 18px; text-align: center; }
.cul-card h3 { color: #2A843A; font-size: 17px; margin: 12px 0 8px; }
.cul-card p { color: #777; font-size: 13px; line-height: 22px; text-align: justify; }
.cul-ico { width: 46px; height: 46px; margin: 0 auto; }
.team-row { display: flex; flex-wrap: wrap; gap: 18px; }
.tm-card { width: calc((100% - 36px) / 3); background: #fff; border: 1px solid #e4eed9; border-radius: 8px; overflow: hidden; text-align: center; }
.tm-card img { width: 100%; height: 200px; object-fit: cover; display: block; }
.tm-card h3 { font-size: 16px; color: #333; margin: 12px 0 2px; }
.tm-card p { color: #3C9B00; font-size: 13px; padding-bottom: 14px; }

/* --- 产品详情 --- */
.pd-box { margin-top: 16px; }
.pd-tit { font-size: 22px; font-weight: 700; color: #333; text-align: center; padding: 14px 0 12px; border-bottom: 1px dashed #CACACA; }
.pd-row { display: flex; padding: 24px 0; gap: 30px; }
.pd-imgs { width: 46%; flex: 0 0 46%; position: relative; }
.pd-main { position: relative; overflow: hidden; border-radius: 8px; }
.pd-main img { width: 100%; height: 330px; object-fit: cover; display: block; border-radius: 8px; border: 4px solid #579C1F; }
.pd-nav { position: absolute; top: 46%; width: 34px; line-height: 44px; text-align: center; background: #579C1F; color: #fff; font-size: 18px; cursor: pointer; border-radius: 4px; z-index: 5; user-select: none; }
.pd-prev { left: -46px; } .pd-next { right: -46px; }
.pd-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.pd-thumbs img { width: calc((100% - 20px) / 3); height: 74px; object-fit: cover; border-radius: 4px; cursor: pointer; opacity: .65; transition: opacity .25s, border-color .25s; border: 2px solid transparent; }
.pd-thumbs img.on, .pd-thumbs img:hover { opacity: 1; border-color: #579C1F; }
.pd-info { flex: 1; min-width: 0; }
.pd-cat { display: inline-block; background: #E9F6DE; color: #2C7600; font-size: 12px; padding: 2px 12px; border-radius: 12px; margin-bottom: 10px; }
.pd-brief { color: #666; line-height: 1.9; text-align: justify; margin-bottom: 14px; }
.pd-h { font-size: 16px; color: #2A843A; padding: 8px 0 8px 12px; border-left: 4px solid #3C9B00; background: #F4FAEE; margin: 22px 0 12px; }
.pd-txt p { margin-bottom: 12px; line-height: 2; color: #555; text-align: justify; }
.pd-table { width: 100%; border-collapse: collapse; margin-bottom: 6px; }
.pd-table th, .pd-table td { border: 1px solid #dcecd0; padding: 9px 14px; font-size: 13px; text-align: left; }
.pd-table th { background: #E9F6DE; color: #2C7600; width: 130px; font-weight: 600; }
.pd-feats { margin-bottom: 10px; }
.pd-feats li { display: flex; align-items: flex-start; margin-bottom: 10px; color: #555; }
.feat-ico { width: 20px; height: 20px; flex: 0 0 auto; margin: 3px 10px 0 0; }
.rel-box { margin-top: 30px; }
.pre-next { display: flex; gap: 14px; margin-top: 26px; padding-top: 18px; border-top: 1px dashed #CACACA; }
.pn-prev, .pn-next { flex: 1; min-width: 0; background: #F4FAEE; border-radius: 6px; padding: 10px 14px; font-size: 13px; color: #555; }
.pn-next { text-align: right; }
.pn-prev b, .pn-next b { color: #3C9B00; display: block; font-size: 12px; margin-bottom: 2px; }
.pn-prev span, .pn-next span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.pn-prev a:hover, .pn-next a:hover { color: #1F8600; }

/* --- 新闻列表 --- */
.nl-box { margin-top: 6px; }
.nl-box li { display: flex; padding: 22px 0; border-bottom: 1px solid #eee; }
.nl-date { width: 110px; height: 80px; flex: 0 0 110px; border-radius: 8px; background: linear-gradient(160deg, #3C9B00, #2C7600); color: #fff; text-align: center; position: relative; overflow: hidden; }
.nl-date::after { content: ""; position: absolute; left: -18px; bottom: -22px; width: 60px; height: 60px; background: rgba(255,255,255,.14); transform: rotate(45deg); }
.d-day { font-size: 32px; font-weight: 700; font-family: Arial, sans-serif; display: block; margin-top: 8px; line-height: 1.2; }
.d-mon { font-size: 13px; display: block; font-family: Arial, sans-serif; }
.nl-sum { flex: 1; min-width: 0; margin-left: 24px; }
.nl-sum h2 { font-size: 16px; margin-bottom: 8px; }
.nl-sum h2 a { color: #252525; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.nl-sum h2 a:hover { color: #1F8600; }
.nl-cat { display: inline-block; font-size: 12px; color: #3C9B00; border: 1px solid #9fd67a; border-radius: 10px; padding: 0 10px; margin-right: 8px; vertical-align: 2px; }
.nl-sum p { color: #5D5D5D; font-size: 13px; line-height: 24px; height: 48px; overflow: hidden; text-align: justify; }

/* --- 新闻详情 --- */
.nd-box { margin-top: 8px; }
.nd-tit { font-size: 22px; font-weight: 700; color: #333; text-align: center; line-height: 1.6; padding: 16px 0 10px; border-bottom: 1px dashed #CACACA; }
.nd-time { text-align: center; color: #999; font-size: 13px; padding: 12px 0 4px; }
.nd-time span { margin: 0 10px; }
.nd-txt { padding: 8px 10px 0; }
.nd-txt p { margin-bottom: 14px; line-height: 2; color: #555; text-align: justify; }
.nd-img { margin: 10px 0 18px; text-align: center; }
.nd-img img { max-width: 100%; border-radius: 6px; }

/* --- 联系页 --- */
.ct-list { display: flex; flex-wrap: wrap; gap: 16px; margin: 20px 0 8px; }
.ct-item { flex: 1; min-width: 240px; display: flex; align-items: flex-start; background: #F4FAEE; border: 1px solid #dcebd0; border-radius: 8px; padding: 18px; }
.ct-ico { width: 40px; height: 40px; flex: 0 0 auto; margin-right: 14px; }
.ct-k { color: #999; font-size: 12px; letter-spacing: 1px; }
.ct-v { color: #333; font-size: 15px; margin-top: 4px; font-weight: 600; word-break: break-all; }
.ct-v small { display: block; font-size: 12px; color: #777; font-weight: 400; margin-top: 2px; }
.feedback { margin-top: 26px; background: #fff; border: 1px solid #e4eed9; border-radius: 10px; padding: 26px 26px 30px; }
.fb-h { font-size: 17px; color: #2A843A; padding-left: 12px; border-left: 4px solid #3C9B00; margin-bottom: 18px; }
.fb-row { display: flex; gap: 18px; margin-bottom: 16px; }
.fb-cell { flex: 1; }
.fb-cell label { display: block; font-size: 13px; color: #666; margin-bottom: 6px; }
.fb-cell label i { color: #e05b3a; font-style: normal; margin-left: 3px; }
.fb-cell input, .fb-cell textarea {
  width: 100%; border: 1px solid #cfe0c2; border-radius: 6px; height: 40px; padding: 0 12px; font-size: 14px; background: #FBFDF9; transition: border .25s, box-shadow .25s;
}
.fb-cell textarea { height: 120px; padding: 10px 12px; resize: vertical; }
.fb-cell input:focus, .fb-cell textarea:focus { border-color: #3C9B00; box-shadow: 0 0 0 3px rgba(60,155,0,.12); background: #fff; }
.fb-btn {
  display: inline-block; background: linear-gradient(135deg, #2C7600, #57a72b); color: #fff; border: 0;
  padding: 0 44px; line-height: 42px; border-radius: 21px; font-size: 15px; letter-spacing: 2px; cursor: pointer;
}
.fb-btn:hover { opacity: .92; }
.fb-tip { margin-top: 12px; color: #2C7600; font-size: 13px; display: none; }
.fb-tip.show { display: inline-block; animation: dropIn .3s ease; }

/* ============================================================
 * 响应式
 * ============================================================ */
@media (max-width: 1024px) {
  .logo-name { font-size: 24px; }
  .logo-ico { width: 48px; height: 48px; }
  .tel-num { font-size: 22px; }
  .banner { height: 420px; }
  .cap-m { font-size: 32px; letter-spacing: 3px; }
  .pro-cols { flex-direction: column; }
  .aside-col { width: 100%; flex: none; margin: 50px 0 0; }
  .pro-aside { margin-top: 0; }
  .pro-list { grid-template-columns: repeat(3, 1fr); }
  .about-cols { flex-direction: column; }
  .about-imgbox { width: 100%; flex: none; max-width: 560px; }
  .about-txt { margin: 46px 0 0; }
  .ns-cols { flex-wrap: wrap; }
  .ns-cols { flex-wrap: wrap; }
  .ns-l, .ns-r { flex: 0 0 100%; }
  .foot-in { flex-wrap: wrap; }
  .f-col { flex: 1 1 40%; margin-bottom: 22px; }
  .tm-card { width: calc((100% - 18px) / 2); }
  .pd-row { flex-direction: column; }
  .pd-imgs { width: 100%; flex: none; }
  .pd-prev, .pd-next { display: none; }
}

@media (max-width: 992px) {
  .menu { display: none; }
  .menu-ico { display: block; }
  .topbox { height: 100px; }
  .lotbox { top: 24px; left: 2%; }
  .top-tel { top: 30px; right: 60px; }
  .menubox { display: none; }
  .banner { margin-top: 0; }
  .mainbox { margin-top: 0; }
  .ins-banner { margin-top: 0; height: 200px; }
  .ins-cols { flex-direction: column; }
  .ins-main { margin-top: 14px; }
  .ins-title .crumb { position: static; margin-top: 6px; }
  .phone-cat { display: block; }
  .quickbar { display: none; }
}

@media (max-width: 640px) {
  .banner { height: 240px; }
  .cap-m { font-size: 21px; margin-bottom: 10px; }
  .cap-s { font-size: 12px; padding: 5px 14px; letter-spacing: 2px; }
  .b-dots { bottom: 56px; }
  .b-dots i { width: 22px; }
  .pro-list { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pro-list dt img { height: 130px; }
  .t-left h2 { font-size: 17px; }
  .t-left p { font-size: 11px; }
  .news-fea { flex-direction: column; }
  .nf-img { width: 100%; flex: none; height: 180px; }
  .nf-sum { margin: 14px 0 0; }
  .nf-txt { height: auto; }
  .cul-row { flex-direction: column; }
  .fr-in a:nth-child(n+5) { display: none; }
  .f-col { flex: 1 1 100%; padding-right: 0; }
  .f-qr { display: none; }
  .nl-box li { flex-direction: column; }
  .nl-sum { margin: 14px 0 0; }
  .fb-row { flex-direction: column; gap: 0; }
  .about-dia { display: none; }
  .t-more { top: 42px; }
}
