/* =========================================================
   伏龙楼梯企业官网主题 style.css
   设计风格：实木高端定制（深棕胡桃木 + 金色点缀 + 米白底）
   字体：Noto Sans SC（思源黑体，免费商用）
   ========================================================= */

/* ---------- 基础 ---------- */
html { -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; -webkit-tap-highlight-color:rgba(0,0,0,0); }
body { margin:0; font-family:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif; line-height:1.7; font-size:14px; background:#F4F9F5; color:#444; }
* { box-sizing:border-box; }
.clearfix { zoom:1; }
.clearfix:before,.clearfix:after { display:table; line-height:0; content:""; }
.clearfix:after { clear:both; }
a { color:#1F6B35; text-decoration:none; transition:color .2s ease, background .2s ease, border-color .2s ease; }
a:hover { color:#35B75C; }
ul,ol { margin:0; padding:0; list-style:none; }
div,p,span,ul,li,dl,dt,dd,ol,h1,h2,h3,h4,h5,h6,a,img,textarea,input,em,b,i { margin:0; padding:0; font-weight:normal; border:none; outline:none; }
img { max-width:100%; border:none; }
h1,h2,h3,h4,h5,h6 { font-weight:600; }
.container { width:100%; max-width:1200px; margin:0 auto; padding:0 15px; }

/* ---------- 图标（内联SVG，免费商用） ---------- */
.fl-ico { display:inline-block; width:16px; height:16px; vertical-align:-3px; background-repeat:no-repeat; background-position:center; background-size:contain; }
.fl-ico-tel { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234DB96A'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E"); }
.fl-ico-mail { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234DB96A'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E"); }
.fl-ico-addr { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234DB96A'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5c-1.4 0-2.5-1.1-2.5-2.5S10.6 6.5 12 6.5s2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5z'/%3E%3C/svg%3E"); }
.fl-ico-search { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2C16 5.9 13.1 3 9.5 3S3 5.9 3 9.5 5.9 16 9.5 16c1.6 0 3.1-.6 4.2-1.6l.3.3v.8l5 5 1.5-1.5-5-5zm-6 0C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14z'/%3E%3C/svg%3E"); }
.fl-ico-home { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234DB96A'%3E%3Cpath d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z'/%3E%3C/svg%3E"); }
.fl-ico-chat { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234DB96A'%3E%3Cpath d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z'/%3E%3C/svg%3E"); }
.fl-ico-nav { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234DB96A'%3E%3Cpath d='M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'/%3E%3C/svg%3E"); }
.fl-ico-welcome { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234DB96A'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-6 9h2v2H6v-2zm5 0h2v2h-2v-2zm5 0h2v2h-2v-2zm-6.9 4.5c1.1 1.6 3 2.5 4.9 2.5s3.8-.9 4.9-2.5l1.7 1.2C14.9 19.6 12.6 20.5 11 21v-5.5z'/%3E%3C/svg%3E"); }

/* ---------- 顶栏 ---------- */
.header { position:sticky; top:0; z-index:999; box-shadow:0 2px 10px rgba(14,59,34,.12); }
.topbar { background:#0E3B22; color:#B8D8C0; font-size:13px; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; height:34px; }
.topbar-l i { margin-right:5px; }
.topbar-r { display:flex; }
.topbar-item { margin-left:20px; }
.topbar-item i { margin-right:5px; }
.topbar-tel { color:#A8D8B5; font-weight:600; }

/* ---------- 头部主体 ---------- */
.header-main { background:#fff; }
.header-main .container { display:flex; align-items:center; justify-content:space-between; height:86px; position:relative; }
.menu-btn { display:none; width:34px; height:34px; border:1px solid #D6E6DB; border-radius:4px; flex-direction:column; justify-content:center; align-items:center; gap:4px; }
.menu-btn span { display:block; width:18px; height:2px; background:#258C44; }
.logo { display:flex; align-items:center; }
.logo a { display:flex; align-items:center; gap:12px; }
.logo img { height:56px; width:auto; }
.logo-text { display:flex; flex-direction:column; }
.logo-text strong { font-size:24px; color:#1F6B35; letter-spacing:2px; font-weight:700; line-height:1.2; }
.logo-text small { font-size:11px; color:#6CBF85; letter-spacing:3px; margin-top:4px; }
.header-right { display:flex; align-items:center; gap:30px; }
.tel { display:flex; align-items:center; gap:10px; }
.tel .fl-ico { width:36px; height:36px; }
.tel-text { display:flex; flex-direction:column; }
.tel-text span { font-size:12px; color:#999; }
.tel-text strong { font-size:20px; color:#258C44; font-weight:700; letter-spacing:1px; }
.hform { width:260px; }
.hform form { display:flex; border:2px solid #D6E6DB; border-radius:22px; overflow:hidden; background:#F4F9F5; }
.hform input { flex:1; border:none; background:transparent; padding:8px 16px; font-size:13px; color:#444; }
.hform button { width:40px; border:none; background:#258C44; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.hform button:hover { background:#35B75C; }

/* ---------- 导航 ---------- */
.nav { background:#1F6B35; }
.nav .container { display:flex; }
.nav ul { display:flex; width:100%; }
.nav > .container > ul > li { position:relative; }
.nav > .container > ul > li > a { display:block; padding:0 26px; height:52px; line-height:52px; color:#E8F2EB; font-size:16px; font-weight:600; letter-spacing:1px; border-bottom:3px solid transparent; }
.nav > .container > ul > li > a:hover,
.nav > .container > ul > li.zon > a,
.nav > .container > ul > li > a.on { color:#fff; background:#185A2C; border-bottom-color:#4DB96A; }
.nav .arr { position:absolute; right:8px; top:22px; width:8px; height:8px; border-right:2px solid #4DB96A; border-bottom:2px solid #4DB96A; transform:rotate(45deg); cursor:pointer; z-index:5; }
.nav .dropdown-box { display:none; position:absolute; top:52px; left:0; min-width:160px; background:#fff; box-shadow:0 8px 24px rgba(31,107,53,.18); z-index:100; }
.nav .dropdown:hover .dropdown-box,
.nav .dropdown.open .dropdown-box { display:block; }
.nav .dropdown-box p { border-bottom:1px solid #E8F2EB; }
.nav .dropdown-box p a { display:block; padding:10px 20px; color:#258C44; font-size:14px; }
.nav .dropdown-box p a:hover { background:#F4F9F5; color:#35B75C; }

/* ---------- Banner ---------- */
.banner { position:relative; height:480px; background:#1F6B35; }
.banner .swiper-wrapper { height:480px; }
.banner .swiper-slide { position:relative; }
.banner-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.banner-mask { position:absolute; inset:0; background:linear-gradient(90deg, rgba(43,27,14,.75) 0%, rgba(43,27,14,.35) 60%, rgba(43,27,14,.1) 100%); }
.banner-content { position:relative; height:480px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; color:#fff; }
.banner-title { font-size:48px; font-weight:700; letter-spacing:6px; text-shadow:0 2px 12px rgba(0,0,0,.4); }
.banner-sub { margin-top:18px; font-size:18px; color:#A8D8B5; letter-spacing:3px; }
.banner-btn { margin-top:36px; display:inline-flex; align-items:center; gap:8px; padding:12px 30px; background:#4DB96A; color:#0E3B22; font-size:18px; font-weight:700; border-radius:30px; letter-spacing:1px; }
.banner-btn:hover { background:#A8D8B5; color:#0E3B22; }
.banner .swiper-pagination-bullet { background:#fff; opacity:.5; }
.banner .swiper-pagination-bullet-active { opacity:1; background:#4DB96A; }
.banner .banner-prev,.banner .banner-next { color:#fff; }
.banner .banner-prev:after,.banner .banner-next:after { font-size:28px; }
.banner-placeholder { height:8px; background:#1F6B35; }

/* 内页Banner */
.banner-sub { position:relative; height:180px; background-size:cover; background-position:center; display:flex; align-items:center; }
.banner-sub-mask { position:absolute; inset:0; background:rgba(43,27,14,.65); }
.banner-sub .container { position:relative; z-index:2; }
.banner-sub-title { font-size:30px; color:#fff; font-weight:700; letter-spacing:3px; }
.position { margin-top:10px; font-size:13px; color:#D8C4A8; }
.position a { color:#A8D8B5; }
.position a:hover { color:#fff; }

/* ---------- 搜索条/热推 ---------- */
.sou { background:#EDF5F0; border-bottom:1px solid #D6E6DB; }
.sou .container { display:flex; justify-content:space-between; align-items:center; height:50px; }
.hot { font-size:13px; color:#35B75C; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.hot strong { color:#258C44; font-weight:600; }
.hot a { display:inline-block; margin-right:14px; color:#777; }
.hot a:hover { color:#35B75C; }
.hform { width:260px; }

/* ---------- 服务亮点 ---------- */
.service-points { background:#fff; border-bottom:1px solid #E8F2EB; }
.sp-list { display:flex; }
.sp-item { flex:1; display:flex; align-items:center; gap:14px; padding:26px 20px; border-right:1px solid #E8F2EB; justify-content:center; }
.sp-item:last-child { border-right:none; }
.sp-icon { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,#258C44,#35B75C); position:relative; }
.sp-icon::after { content:""; position:absolute; inset:8px; border-radius:50%; background-size:contain; background-position:center; background-repeat:no-repeat; }
.sp-icon-1::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E5C79B'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zM7 13h2v2h-2zm4 0h2v2h-2zm-4 4h10v2H7zm4-8h2v2h-2zm-4 0h2v2H7z'/%3E%3C/svg%3E"); }
.sp-icon-2::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E5C79B'%3E%3Cpath d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E"); }
.sp-icon-3::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E5C79B'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z'/%3E%3C/svg%3E"); }
.sp-icon-4::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E5C79B'%3E%3Cpath d='M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'/%3E%3C/svg%3E"); }
.sp-text { display:flex; flex-direction:column; }
.sp-text strong { font-size:16px; color:#1F6B35; font-weight:600; }
.sp-text span { font-size:12px; color:#999; margin-top:2px; }

/* ---------- 通用区块 ---------- */
.section { padding:48px 0; background:#F4F9F5; }
.section-gray { background:#EDF5F0; }
.section-dark { background:#0E3B22; padding:0; }
.section-title { text-align:center; margin-bottom:34px; position:relative; }
.section-title h2 { display:inline-block; font-size:26px; color:#1F6B35; font-weight:700; letter-spacing:3px; position:relative; padding-bottom:14px; }
.section-title h2 i { position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:60px; height:3px; background:linear-gradient(90deg,#4DB96A,#35B75C); }
.section-title small { display:block; color:#6CBF85; font-size:12px; letter-spacing:4px; margin-top:10px; }
.section-more { position:absolute; right:0; bottom:4px; font-size:13px; color:#35B75C; border:1px solid #B8DCC3; padding:4px 14px; border-radius:16px; }
.section-more:hover { background:#35B75C; color:#fff; }

/* ---------- 产品中心（首页） ---------- */
.in-prd { display:flex; gap:0; }
.in-prd-cate { width:200px; flex-shrink:0; }
.in-prd-cate dl { background:#fff; border:1px solid #D6E6DB; }
.in-prd-cate h3 { padding:16px 20px; background:linear-gradient(135deg,#258C44,#35B75C); color:#fff; font-size:16px; letter-spacing:2px; }
.in-prd-cate .lanmu li a { display:block; padding:12px 20px; color:#258C44; font-size:14px; border-bottom:1px dashed #E8F2EB; position:relative; padding-left:28px; }
.in-prd-cate .lanmu li a::before { content:""; position:absolute; left:14px; top:19px; width:6px; height:6px; border-radius:50%; background:#4DB96A; }
.in-prd-cate .lanmu li a:hover { background:#F4F9F5; color:#35B75C; padding-left:34px; }
.in-prd-con { flex:1; margin-left:20px; }

/* 产品网格 */
.list-1 { display:flex; flex-wrap:wrap; margin:0 -8px; }
.list-1 > li { width:25%; padding:0 8px; margin-bottom:16px; }
.list-1 .img-pro { border:1px solid #D6E6DB; background:#fff; overflow:hidden; }
.list-1 .img-center { position:relative; overflow:hidden; padding-top:75%; }
.list-1 .img-center img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.list-1 li:hover .img-center img { transform:scale(1.08); }
.list-1 .text { padding:12px 14px; text-align:center; font-size:14px; color:#1F6B35; background:#fff; border-top:1px solid #E8F2EB; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.list-1 li:hover .text { color:#35B75C; }
.list-1.list-1-1 > li { width:25%; }

/* 大图列表 */
.list-2 { display:flex; flex-wrap:wrap; margin:0 -12px; }
.list-2 > li { width:25%; padding:0 12px; margin-bottom:24px; }
.list-2 .img-center { position:relative; overflow:hidden; padding-top:100%; border:1px solid #D6E6DB; background:#fff; }
.list-2 .img-center img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.list-2 li:hover .img-center img { transform:scale(1.08); }
.list-2 .text { padding:14px; background:#fff; border:1px solid #D6E6DB; border-top:none; text-align:center; }
.list-2 .text p { font-size:15px; color:#1F6B35; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.list-2 li:hover .text p { color:#35B75C; }

/* 关于我们 */
.in-about { display:flex; gap:40px; align-items:flex-start; }
.in-about .img-about { width:520px; flex-shrink:0; }
.in-about .img-center { position:relative; overflow:hidden; padding-top:70%; border:1px solid #D6E6DB; background:#fff; }
.in-about .img-center img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.in-about dd { flex:1; }
.in-about dd h3 { font-size:22px; color:#1F6B35; font-weight:700; margin-bottom:16px; letter-spacing:1px; }
.in-about dd p { font-size:14px; color:#666; line-height:2; }
.in-about .more { display:inline-block; margin-top:22px; padding:10px 30px; background:#258C44; color:#fff; font-size:14px; border-radius:24px; letter-spacing:1px; }
.in-about .more:hover { background:#35B75C; color:#fff; }
.in-about .more span { transition:transform .2s ease; display:inline-block; margin-left:4px; }
.in-about .more:hover span { transform:translateX(4px); }

/* 新闻列表 */
.newsc ul { display:flex; flex-wrap:wrap; margin:0 -15px; }
.newsc li { width:50%; padding:0 15px; }
.newsc li a { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px dashed #D6E6DB; color:#258C44; font-size:14px; }
.newsc li a:hover { color:#35B75C; }
.newsc li a span { color:#6CBF85; font-size:12px; flex-shrink:0; margin-left:16px; }

/* 联系CTA */
.in-touch { display:flex; justify-content:space-between; align-items:center; padding:40px 0; }
.in-touch-text h3 { color:#fff; font-size:24px; font-weight:700; letter-spacing:2px; }
.in-touch-text p { color:#B8D8C0; margin-top:8px; font-size:14px; letter-spacing:1px; }
.in-touch-btn { display:flex; gap:14px; }
.btn-tel { display:inline-flex; align-items:center; gap:8px; padding:12px 30px; background:#4DB96A; color:#0E3B22; font-size:18px; font-weight:700; border-radius:30px; }
.btn-tel:hover { background:#A8D8B5; color:#0E3B22; }
.btn-chat { display:inline-flex; align-items:center; padding:12px 30px; border:2px solid #4DB96A; color:#A8D8B5; font-size:16px; border-radius:30px; }
.btn-chat:hover { background:#4DB96A; color:#0E3B22; }

/* 友情链接 */
.link { background:#fff; border:1px solid #D6E6DB; padding:20px 24px; }
.link h4 { font-size:16px; color:#1F6B35; font-weight:600; margin-bottom:12px; }
.link h4 small { color:#6CBF85; font-size:12px; margin-left:6px; }
.link ul li { display:inline-block; margin:0 14px 8px 0; }
.link ul li a { color:#888; font-size:13px; }
.link ul li a:hover { color:#35B75C; }

/* ---------- 内页布局 ---------- */
.page-body { padding:34px 0 50px; background:#F4F9F5; min-height:500px; }
.ct2 { display:flex; gap:24px; align-items:flex-start; }
.ct2-sd { width:252px; flex-shrink:0; }
.ct2-mn { flex:1; min-width:0; }

/* 侧栏 */
.panel-sd { background:#fff; border:1px solid #D6E6DB; margin-bottom:20px; }
.panel-sd .tit { padding:14px 18px; border-bottom:1px solid #E8F2EB; font-size:16px; color:#1F6B35; font-weight:600; letter-spacing:1px; position:relative; }
.panel-sd .tit::before { content:""; display:inline-block; width:5px; height:18px; background:#4DB96A; margin-right:10px; vertical-align:-3px; }
.panel-sd .tit span { float:right; color:#6CBF85; font-size:11px; letter-spacing:2px; margin-top:4px; font-weight:normal; }
.panel-sd .lanmu li a { display:block; padding:11px 18px; color:#258C44; font-size:14px; border-bottom:1px dashed #EAF3ED; position:relative; padding-left:30px; }
.panel-sd .lanmu li a::before { content:""; position:absolute; left:16px; top:18px; width:6px; height:6px; border-radius:50%; background:#B8DCC3; }
.panel-sd .lanmu li a:hover { background:#F4F9F5; color:#35B75C; padding-left:36px; }
.panel-sd .lanmu li:last-child a { border-bottom:none; }

.list-side li a { display:flex; align-items:baseline; padding:9px 18px; color:#666; font-size:13px; border-bottom:1px dashed #EAF3ED; gap:8px; }
.list-side li a span { color:#4DB96A; font-size:13px; font-weight:700; flex-shrink:0; }
.list-side li a:hover { color:#35B75C; }
.list-side li:last-child a { border-bottom:none; }

.panel-tel-con { padding:20px 18px; text-align:center; }
.panel-tel-con .fl-ico { width:44px; height:44px; }
.panel-tel-con strong { display:block; font-size:20px; color:#258C44; font-weight:700; margin-top:10px; letter-spacing:1px; }
.panel-tel-con p { font-size:12px; color:#999; margin-top:8px; }
.panel-tel-con a { display:block; margin-top:14px; background:#258C44; color:#fff; padding:9px 0; border-radius:20px; font-size:13px; }
.panel-tel-con a:hover { background:#35B75C; color:#fff; }

/* 图文列表 */
.list-4 > li { background:#fff; border:1px solid #D6E6DB; margin-bottom:18px; transition:box-shadow .25s ease; }
.list-4 > li:hover { box-shadow:0 6px 20px rgba(31,107,53,.1); }
.list-4 > li > a { display:flex; padding:20px; gap:20px; }
.img-list { width:200px; height:120px; flex-shrink:0; overflow:hidden; position:relative; }
.img-list .img-center { width:100%; height:100%; }
.img-list img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.list-4 li:hover .img-list img { transform:scale(1.06); }
.list-4 .date { width:64px; flex-shrink:0; text-align:center; color:#6CBF85; font-size:12px; border-right:1px dashed #D6E6DB; padding-right:14px; }
.list-4 .date span { display:block; font-size:30px; color:#258C44; font-weight:700; line-height:1.2; }
.list-4 .text { flex:1; min-width:0; }
.list-4 .text h4 { font-size:17px; color:#1F6B35; font-weight:600; margin-bottom:10px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.list-4 li:hover .text h4 { color:#35B75C; }
.list-4 .text p { font-size:13px; color:#888; line-height:1.9; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ---------- 文章内容 ---------- */
.ct2-mn .content-title { background:#fff; border:1px solid #D6E6DB; padding:26px 30px; margin-bottom:18px; text-align:center; }
.content-title h1 { font-size:24px; color:#1F6B35; font-weight:700; letter-spacing:1px; }
.content-title p { margin-top:12px; font-size:12px; color:#999; }
.content-title p span { margin:0 10px; }
.content-title p a { color:#35B75C; }
.content-body { background:#fff; border:1px solid #D6E6DB; padding:30px 34px; font-size:15px; color:#444; line-height:2; word-break:break-all; }
.content-body img { max-width:100%; height:auto; margin:10px 0; }
.content-body p { margin:10px 0; }
.content-body h1,.content-body h2,.content-body h3 { color:#1F6B35; margin:20px 0 10px; }
.content-body a { color:#35B75C; }
.content-body a:hover { text-decoration:underline; }
.content-body table { max-width:100%; border-collapse:collapse; }
.content-body td,.content-body th { border:1px solid #D6E6DB; padding:6px 10px; }
.content-exp { background:#fff; border:1px solid #D6E6DB; border-top:none; padding:18px 30px; }
.content-exp li { font-size:14px; color:#666; padding:6px 0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.content-exp li span { color:#6CBF85; }
.content-exp a { color:#258C44; }
.content-exp a:hover { color:#35B75C; }
.content-tags { background:#fff; border:1px solid #D6E6DB; border-top:none; padding:14px 30px; }
.content-tags a { display:inline-block; margin:4px 8px 4px 0; padding:4px 14px; background:#F4F9F5; color:#35B75C; font-size:12px; border-radius:14px; border:1px solid #D6E6DB; }
.content-tags a:hover { background:#35B75C; color:#fff; }

/* 产品详情 */
.showcase { display:flex; gap:30px; background:#fff; border:1px solid #D6E6DB; padding:24px; margin-bottom:18px; }
.pc-slide { width:420px; flex-shrink:0; }
.pc-slide .view { border:1px solid #E8F2EB; overflow:hidden; padding-top:100%; position:relative; }
.pc-slide .view img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.m-txt1 { flex:1; min-width:0; }
.m-txt1 .protit { font-size:22px; color:#1F6B35; font-weight:700; padding-bottom:14px; border-bottom:1px solid #E8F2EB; }
.m-txt1 .txt { margin-top:16px; }
.m-txt1 .txt p { font-size:14px; color:#666; line-height:2; }
.m-txt1 .pro-btn { margin-top:24px; display:flex; gap:14px; }
.m-txt1 .btn { display:inline-flex; align-items:center; padding:12px 30px; background:#4DB96A; color:#0E3B22; font-size:15px; font-weight:600; border-radius:26px; }
.m-txt1 .btn:hover { background:#A8D8B5; color:#0E3B22; }
.m-txt1 .btn-tel { background:#258C44; color:#fff; }
.m-txt1 .btn-tel:hover { background:#35B75C; color:#fff; }
.panel-detail { margin-bottom:0; border-bottom:none; }

/* ---------- 分页 ---------- */
.pagebar { width:100%; margin:0 auto; padding:26px 0; font-size:14px; text-align:center; line-height:28px; clear:both; }
.pagebar .now-page { margin:5px; padding:6px 14px; color:#fff; font-weight:600; line-height:16px; border:1px solid #258C44; background:#258C44; display:inline-block; border-radius:4px; }
.pagebar a { margin:5px; padding:6px 14px; color:#35B75C; border:1px solid #D6E6DB; background:#fff; display:inline-block; border-radius:4px; }
.pagebar span { margin:0; padding:0; border:0; background:none; }
.pagebar a:hover { color:#fff; border-color:#35B75C; background:#35B75C; }

/* ---------- 空数据 ---------- */
.no-data { padding:80px; text-align:center; color:#adadad; background:#fff; border:1px solid #D6E6DB; }
.no-data span { display:block; line-height:30px; padding:5px 0; font-size:16px; }
.no-data a { display:block; color:#35B75C; width:200px; margin:12px auto 0; border:1px solid #D6E6DB; height:42px; line-height:42px; font-size:14px; border-radius:22px; }
.no-data a:hover { background:#35B75C; color:#fff; }

/* ---------- 评论 ---------- */
.cmts { margin-top:18px; background:#fff; border:1px solid #D6E6DB; padding:24px 30px; }
.cmts.nocmt { padding:15px 30px; }
.cmts.nocmt::before { content:attr(data-content); width:100%; font-size:15px; color:#888; text-align:center; display:inline-block; }
.posttitle h4 { font-size:16px; color:#1F6B35; font-weight:600; margin-bottom:14px; border-left:4px solid #4DB96A; padding-left:12px; }
.cmtsitem { padding:16px 0; border-bottom:1px dashed #E8F2EB; zoom:1; }
.cmtsitem::after { content:""; display:block; clear:both; }
.cmtsitem .avatar { width:48px; height:48px; float:left; margin-right:14px; overflow:hidden; border-radius:50%; }
.cmtsitem .avatar img { width:48px; height:48px; border-radius:50%; }
.cmtscon { margin-left:62px; zoom:1; }
.cmtscon::after { content:""; display:block; clear:both; }
.cmtsdate { float:right; font-size:12px; color:#bbb; }
.cmtsname { font-size:14px; color:#1F6B35; display:inline-block; font-weight:600; }
.cmtsbody { margin-top:8px; line-height:26px; word-wrap:break-word; word-break:break-all; font-size:14px; }
.cmtsfoot { margin-top:8px; }
.cmtsfoot .reply { font-size:12px; color:#6CBF85; }
.cmtsfoot .reply:hover { color:#35B75C; }
.cmtpagebar { text-align:center; }
.comment { margin-top:18px; zoom:1; }
.comment::after { content:""; display:block; clear:both; }
.cmtimg { width:56px; float:left; text-align:center; }
.cmtimg img { width:48px; height:48px; border-radius:50%; }
.cmtimg p { height:20px; font-size:12px; color:#888; overflow:hidden; white-space:nowrap; }
.cmtinfo { padding-left:70px; }
.cmtarea { padding-left:62px; }
.cmtarea textarea { width:100%; margin:0 0 10px; padding:10px 15px; font-size:14px; color:#444; line-height:24px; border:1px solid #D6E6DB; outline:0; border-radius:4px; box-sizing:border-box; font-family:inherit; background:#FCFEFD; }
.cmtarea textarea:focus { border-color:#4DB96A; }
.cmtform { overflow:hidden; margin-bottom:10px; }
.cmtform p { float:left; width:33%; padding-right:10px; margin-bottom:8px; font-size:13px; color:#888; }
.cmtform input { width:100%; height:32px; padding:0 8px; border:1px solid #D6E6DB; border-radius:4px; font-size:13px; }
.cmtsubmit { display:flex; align-items:center; gap:14px; }
.cmtsubmit button { height:38px; padding:0 26px; font-size:14px; color:#fff; border:none; border-radius:20px; cursor:pointer; background:#258C44; }
.cmtsubmit button:hover { background:#35B75C; }
.cmtsubmit span { font-size:12px; color:#aaa; }
#cancel-reply { height:26px; margin-left:16px; padding:0 12px; font-size:12px; color:#35B75C; line-height:24px; border:1px solid #4DB96A; outline:0; border-radius:16px; cursor:pointer; background:#fff; vertical-align:top; display:none; }

/* ---------- 底部 ---------- */
.footer-main { background:#0E3B22; padding:46px 0 34px; }
.footer-cols { display:flex; gap:40px; }
.footer-col { flex:1; }
.footer-about { flex:1.6; }
.footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.footer-logo img { height:44px; }
.footer-logo strong { font-size:20px; color:#E8F2EB; letter-spacing:2px; font-weight:700; }
.footer-about p { font-size:13px; color:#A08C70; line-height:2; }
.footer-phone { margin-top:18px; background:rgba(201,160,99,.12); border:1px solid rgba(201,160,99,.3); border-radius:6px; padding:12px 16px; display:flex; flex-direction:column; }
.footer-phone span { font-size:12px; color:#B8D8C0; }
.footer-phone a { font-size:22px; color:#A8D8B5; font-weight:700; letter-spacing:1px; }
.footer-phone a:hover { color:#fff; }
.footer-col h4 { font-size:16px; color:#E8F2EB; font-weight:600; margin-bottom:16px; letter-spacing:1px; }
.footer-col h4::after { content:""; display:block; width:30px; height:2px; background:#4DB96A; margin-top:8px; }
.footer-col li { margin-bottom:10px; }
.footer-col li a { color:#A08C70; font-size:13px; }
.footer-col li a:hover { color:#A8D8B5; }
.footer-contact li { color:#A08C70; font-size:13px; display:flex; align-items:center; gap:8px; }
.footer-bottom { background:#241708; padding:16px 0; }
.footer-bottom .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px; }
.footer-bottom p { color:#8A7357; font-size:12px; }
.footer-bottom a { color:#8A7357; margin-right:10px; }
.footer-bottom a:hover { color:#A8D8B5; }

/* 移动端悬浮导航 */
.foot-nav-mob { background:#1F6B35; position:fixed; bottom:0; left:0; right:0; z-index:100; box-shadow:0 -2px 10px rgba(0,0,0,.35); display:none; }
.foot-nav-mob ul { display:flex; padding:0 10px; }
.foot-nav-mob li { flex:1; text-align:center; padding:8px 4px 4px; }
.foot-nav-mob li i { display:block; width:24px; height:24px; margin:0 auto; }
.foot-nav-mob li span { color:#D8C4A8; display:block; line-height:18px; height:18px; font-size:12px; overflow:hidden; }

/* ---------- 响应式 ---------- */
@media (max-width: 991px) {
  .container { padding:0 12px; }
  .header-main .container { height:auto; padding:12px; flex-wrap:wrap; gap:10px; }
  .menu-btn { display:flex; order:1; }
  .logo { order:2; flex:1; }
  .logo-text strong { font-size:20px; }
  .header-right { order:4; width:100%; justify-content:space-between; }
  .hform { flex:1; }
  .nav { display:none; }
  .nav.open { display:block; }
  .nav .container { display:block; }
  .nav ul { flex-direction:column; }
  .nav > .container > ul > li > a { height:46px; line-height:46px; border-bottom:1px solid rgba(255,255,255,.08); padding:0 20px; }
  .nav .dropdown-box { position:static; box-shadow:none; background:rgba(0,0,0,.15); }
  .nav .dropdown-box p a { color:#D8C4A8; padding-left:34px; }
  .banner,.banner .swiper-wrapper,.banner-content { height:320px; }
  .banner-title { font-size:30px; }
  .banner-sub { font-size:14px; }
  .banner-btn { margin-top:22px; padding:10px 22px; font-size:15px; }
  .sp-item { padding:18px 10px; gap:8px; flex-direction:column; text-align:center; }
  .in-prd { flex-direction:column; }
  .in-prd-cate { width:100%; margin-bottom:16px; }
  .in-prd-cate .lanmu { display:flex; flex-wrap:wrap; }
  .in-prd-cate .lanmu li { width:33.333%; }
  .in-prd-cate .lanmu li a { border-right:1px solid #E8F2EB; border-bottom:1px solid #E8F2EB; }
  .in-prd-con { margin-left:0; }
  .list-1 > li { width:33.333%; }
  .list-2 > li { width:50%; }
  .in-about { flex-direction:column; }
  .in-about .img-about { width:100%; }
  .ct2 { flex-direction:column; }
  .ct2-sd { width:100%; }
  .ct2-sd .panel-sd .lanmu { display:flex; flex-wrap:wrap; }
  .ct2-sd .panel-sd .lanmu li { width:50%; }
  .showcase { flex-direction:column; }
  .pc-slide { width:100%; }
  .footer-cols { flex-wrap:wrap; }
  .footer-col { width:48%; flex:none; }
  .footer-about { width:100%; }
  .footer-contact { width:100%; }
  .list-4 > li > a { flex-wrap:wrap; }
  .img-list { width:100%; height:auto; padding-top:60%; position:relative; }
  .img-list .img-center { position:absolute; inset:0; }
  .list-4 .date { display:none; }
  .foot-nav-mob { display:block; }
  body { padding-bottom:56px; }
}

@media (max-width: 767px) {
  .topbar-r { display:none; }
  .banner,.banner .swiper-wrapper,.banner-content { height:220px; }
  .banner-title { font-size:22px; letter-spacing:2px; }
  .banner-sub { font-size:12px; letter-spacing:1px; margin-top:8px; }
  .banner-btn { margin-top:14px; padding:8px 18px; font-size:13px; }
  .banner-sub-title { font-size:22px; }
  .sou .container { flex-direction:column; height:auto; padding:10px 12px; gap:8px; }
  .sou .hform { width:100%; }
  .service-points .sp-list { flex-wrap:wrap; }
  .sp-item { width:50%; border-bottom:1px solid #E8F2EB; }
  .section { padding:34px 0; }
  .section-title h2 { font-size:21px; }
  .list-1 > li { width:50%; }
  .list-1.list-1-1 > li { width:50%; }
  .list-2 > li { width:100%; }
  .newsc li { width:100%; }
  .in-touch { flex-direction:column; gap:18px; text-align:center; }
  .in-touch-btn { flex-direction:column; }
  .list-4 .text h4 { font-size:15px; }
  .content-title { padding:20px; }
  .content-title h1 { font-size:19px; }
  .content-body { padding:20px; font-size:14px; }
  .content-exp { padding:14px 20px; }
  .ct2-sd .panel-sd .lanmu li { width:100%; }
  .footer-col { width:48%; }
  .footer-about { width:100%; }
  .footer-contact { width:100%; }
  .footer-bottom .container { flex-direction:column; text-align:center; }
  .cmts { padding:18px; }
  .cmtarea { padding-left:0; }
  .cmtimg { display:none; }
}


/* =========================================================
   单页（关于我们/定制流程/咨询报价）新版布局
   ========================================================= */
.page-hero {
  background:linear-gradient(135deg,#1f6b35 0%,#258c44 55%,#35b75c 100%);
  padding:64px 0 56px; text-align:center; color:#fff;
}
.page-hero h1 { font-size:38px; font-weight:700; letter-spacing:6px; margin-bottom:14px; }
.page-hero-sub { font-size:15px; color:#d6ecdc; letter-spacing:2px; margin-bottom:18px; }
.page-crumbs { font-size:13px; color:#b8dcc3; }
.page-crumbs a { color:#e8f5ec; }
.page-crumbs a:hover { color:#fff; }
.page-crumbs i { margin:0 8px; font-style:normal; opacity:.6; }

.page-wrap { padding:40px 0 60px; background:#f4f9f5; }
.page-card {
  max-width:920px; margin:0 auto; background:#fff;
  border:1px solid #d6e6db; border-radius:14px;
  padding:44px 48px; box-shadow:0 6px 24px rgba(31,107,53,.08);
}
.page-card .content-body { font-size:15px; line-height:2; color:#444; }
.page-card .content-body,
.page-card .content-body p,
.page-card .content-body span,
.page-card .content-body div,
.page-card .content-body td,
.page-card .content-body th {
  font-family:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB",sans-serif !important;
}
.page-card .content-body img {
  max-width:100% !important; height:auto !important;
  border-radius:10px; margin:12px auto; box-shadow:0 4px 16px rgba(31,107,53,.12);
}
.page-card .content-body a { color:#258c44; }

.adv-grid {
  margin-top:36px; padding-top:30px; border-top:1px dashed #d6e6db;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.adv-item {
  background:#f4f9f5; border:1px solid #d6e6db; border-radius:10px;
  padding:22px 16px; text-align:center;
}
.adv-item .fl-ico { width:34px; height:34px; margin-bottom:10px; }
.adv-item h4 { font-size:16px; color:#1f6b35; font-weight:700; margin-bottom:8px; }
.adv-item p { font-size:13px; color:#6c8f76; line-height:1.7; }

.svc-grid {
  margin-top:36px; padding-top:30px; border-top:1px dashed #d6e6db;
  display:grid; grid-template-columns:repeat(5,1fr); gap:14px;
}
.svc-item {
  background:linear-gradient(180deg,#ffffff 0%,#f0f8f2 100%);
  border:1px solid #d6e6db; border-radius:10px; padding:22px 12px; text-align:center;
}
.svc-no { display:inline-block; font-size:22px; font-weight:700; color:#258c44; margin-bottom:10px; letter-spacing:1px; }
.svc-item h4 { font-size:15px; color:#1f6b35; font-weight:700; margin-bottom:8px; }
.svc-item p { font-size:12px; color:#6c8f76; line-height:1.7; }

.contact-grid {
  margin-top:36px; padding-top:30px; border-top:1px dashed #d6e6db;
  display:grid; grid-template-columns:repeat(2,1fr); gap:18px;
}
.ct-item {
  background:#f4f9f5; border:1px solid #d6e6db; border-radius:10px;
  padding:22px 24px; display:flex; flex-direction:column; gap:6px;
}
.ct-item .fl-ico { width:30px; height:30px; margin-bottom:4px; }
.ct-item h4 { font-size:15px; color:#1f6b35; font-weight:700; }
.ct-item a { font-size:20px; font-weight:700; color:#258c44; letter-spacing:1px; }
.ct-item p { font-size:13px; color:#6c8f76; line-height:1.7; }

.page-cta { margin-top:34px; }
.cta-inner {
  max-width:920px; margin:0 auto;
  background:linear-gradient(135deg,#0e3b22 0%,#1f6b35 100%);
  border-radius:14px; padding:44px 32px; text-align:center; color:#fff;
}
.cta-inner h3 { font-size:26px; font-weight:700; letter-spacing:2px; margin-bottom:10px; }
.cta-inner p { font-size:14px; color:#a8d8b5; letter-spacing:1px; margin-bottom:26px; }
.cta-btns { display:inline-flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.cta-tel {
  display:inline-flex; align-items:center; gap:8px;
  background:#35b75c; color:#fff; padding:13px 34px; border-radius:30px;
  font-size:18px; font-weight:700; letter-spacing:1px;
}
.cta-tel:hover { background:#4db96a; color:#fff; }
.cta-line {
  display:inline-flex; align-items:center;
  border:2px solid #4db96a; color:#a8d8b5; padding:11px 34px; border-radius:30px;
  font-size:16px; letter-spacing:1px;
}
.cta-line:hover { background:#4db96a; color:#fff; }

@media (max-width: 991px) {
  .page-hero { padding:46px 0 42px; }
  .page-hero h1 { font-size:30px; letter-spacing:4px; }
  .page-card { padding:30px 24px; border-radius:10px; }
  .adv-grid { grid-template-columns:repeat(2,1fr); }
  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; }
}
@media (max-width: 767px) {
  .page-hero h1 { font-size:24px; }
  .page-hero-sub { font-size:13px; }
  .page-card { padding:22px 16px; }
  .page-card .content-body { font-size:14px; line-height:1.9; }
  .adv-grid { grid-template-columns:1fr; gap:12px; }
  .svc-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .cta-inner { padding:32px 20px; }
  .cta-inner h3 { font-size:20px; }
  .cta-btns { flex-direction:column; width:100%; }
  .cta-tel,.cta-line { justify-content:center; }
}

@media (max-width: 991px) {
  .tel-text { flex-direction: row; align-items: baseline; gap:8px; }
  .tel-text strong { font-size:16px; }
}


@media (max-width: 991px) {
  .hform { width:130px; flex:none; }
  .hform input { padding:8px 8px; font-size:12px; }
  .hform button { width:36px; flex:none; }
}

@media (max-width: 991px) {
  .hform button { width:36px !important; min-width:36px; height:38px; flex:none; display:flex; align-items:center; justify-content:center; padding:0; }
  .hform button svg { display:block; width:16px; height:16px; }
}

@media (max-width: 991px) {
  .hform { width:130px; flex:none; position:relative; }
  .hform form { padding-right:36px; }
  .hform button { position:absolute; right:0; top:0; width:36px; height:100%; min-height:38px; flex:none; }
}

/* === mobile search button force show === */
@media (max-width: 991px) {
  .hform { width:210px !important; position:relative !important; }
  .hform form { display:flex !important; overflow:visible !important; padding-right:0 !important; }
  .hform input { flex:1 1 auto !important; min-width:0 !important; padding:8px 8px !important; }
  .hform button {
    flex:0 0 38px !important;
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    position:static !important;
    background:#258C44 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
  }
  .hform button svg { display:block !important; width:16px !important; height:16px !important; }
}
