/* =====================================================================
   中企云创 · 品牌适配层（叠在 300.cn 原版 CSS 之后）
   1) 只替换品牌色与缺失资源兜底，不改动原版排版骨架
   2) 采用 300.cn 原版主色系：青绿 #1cb29d / #38cdba / 深青底 #0d2b2f
      变量名沿用 dy-red/dy-gold，仅色值统一为青绿，避免大范围改选择器
   ===================================================================== */
:root {
  --dy-red: #1cb29d;
  --dy-red-deep: #159c8a;
  --dy-red-soft: #38cdba;
  --dy-gold: #7ee0d0;
  --dy-ink: #1f2733;
  --dy-line: #e2ecef;
}

/* ---------------- 顶部导航 ---------------- */
.top-new-menu { background: #fff; }
.hidden-xs .top-new-menu a:hover,
.hidden-xs .top-new-menu a:focus { color: var(--dy-red) !important; }
.hidden-xs .top-new-menu .menu-body .menu-group .menu-item a:hover { color: var(--dy-red) !important; }
.hidden-xs .top-new-menu .menu-body .menu-group .menu-item.active a { color: var(--dy-red) !important; }
/* 品牌 logo：原版 39px 偏小，放大到 52px（SVG 自带上下留白，实际视觉高约 36px） */
.hidden-xs .top-new-menu .logo img { height: 52px; }

/* 顶部右侧“关于我们/搜索” */
.hidden-xs .top-new-menu .tool-body .tool-body-item a { color: #333; }
.hidden-xs .top-new-menu .tool-body .tool-body-item a:hover { color: var(--dy-red) !important; }

/* 右侧主 CTA 按钮：沿用原版通高整块几何（header.css 1442：.register-btn 136x62 #1cb29d + a line-height:62 白字），仅换品牌色 */
.hidden-xs .top-new-menu .register-btn { background: var(--dy-red); }
.hidden-xs .top-new-menu .register-btn:hover { background: var(--dy-red-deep); }
.hidden-xs .top-new-menu .register-btn > a { color: #fff; }

/* ---------------- 巨型下拉 ---------------- */
.hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-title a { color: var(--dy-ink); }
.hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-body a.product-item:hover .product-item-header { color: var(--dy-red) !important; }
.hidden-xs .top-new-menu .menu-detail .menu-detail-bottom { background: #1b1518; }

/* 下拉子项用网格【按行】铺开（原版是单列 270px + 面板固定高 360px，
   9 项必然撑破面板并压到页面下方；「服务项目」9 项 /「器具出租」9 项 /「宴会社区」6 项）。
   列区铺满面板宽度、按 3 列均分，并取消原版给“产品缩略图”预留的 45px——
   那 45px 在纯文字下拉里是白占的，会把名称挤窄，窄窗口下就贴边/换行。 */
.hidden-xs .top-new-menu .menu-detail .menu-detailBody { height: auto; min-height: 0; padding: 6px 0 34px; }
.hidden-xs .top-new-menu .menu-detail .menu-detail-columns { width: 100%; }
.hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 40px;
}
.hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-body .product-item .product-item-content {
  width: 100%;
}
/* 极窄窗口：3 列排不下时降为 2 列 / 1 列，宁可少列也不挤窄名称 */
@media (max-width: 480px) {
  .hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
  }
}
@media (max-width: 340px) {
  .hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-body {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* .clearfix 自带的 ::before/::after 在 grid 里会各占一个格子（把第一项挤到第二列），屏蔽掉 */
.hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-body::before,
.hidden-xs .top-new-menu .menu-detail .menu-detail-category .menu-detail-category-body::after {
  content: none !important;
  display: none !important;
}

/* ---------------- 全屏搜索层 ---------------- */
.Nav_searchBox { background: #f6f8fb !important; }
.Nav_searchBox .search-body .search-tab-list .search-tab-item.active { background-color: var(--dy-red) !important; color: #fff; }
.Nav_searchBox .search-body .search-btn {
  background: var(--dy-red);
  color: #fff;
  border: 0;
}

/* ---------------- 主按钮（原版青绿渐变） ---------------- */
.main-btn-color {
  background-image: -webkit-linear-gradient(left, var(--dy-red) 0%, var(--dy-red-soft) 100%) !important;
  background-image: linear-gradient(90deg, var(--dy-red) 0%, var(--dy-red-soft) 100%) !important;
  color: #fff !important;
}
.main-btn-color:hover { color: #fff !important; }

/* ---------------- 首页轮播 ---------------- */
.index-content .top-banner .slide-container-center a b { color: #fff; }
.index-content .top-banner .swiper-pagination-bullet-active { background: var(--dy-red); }
.index-content .swiper-pagination-bullet-active { background: var(--dy-red); }

/* 轮播兜底：无图时用品牌深色渐变，避免原版“白底白字”看不见 */
.index-content .top-banner .swiper-slide { background: #0d2b2f; }
.pc .index-content .swiper-container .slide-container {
  background: -webkit-linear-gradient(115deg, #0d2b2f 0%, #14545c 48%, #0a2024 100%);
  background: linear-gradient(115deg, #0d2b2f 0%, #14545c 48%, #0a2024 100%);
}
.pc .index-content .swiper-container .slide-container .banner-img {
  width: 100%;
  height: 600px;
  -o-object-fit: cover;
  object-fit: cover;
}
/* 文字左侧遮罩，保证任意底图上文字都可读 */
.pc .index-content .swiper-container .slide-container .slide-container-center a {
  display: inline-block;
  max-width: 860px;
  padding: 26px 34px 22px;
  margin-left: -34px;
  border-radius: 12px;
  background: -webkit-linear-gradient(90deg, rgba(6, 32, 36, .74) 0%, rgba(6, 32, 36, .48) 62%, rgba(6, 32, 36, 0) 100%);
  background: linear-gradient(90deg, rgba(6, 32, 36, .74) 0%, rgba(6, 32, 36, .48) 62%, rgba(6, 32, 36, 0) 100%);
}
.pc .index-content .swiper-container .slide-container .slide-container-center a b { color: #fff !important; }
.pc .index-content .swiper-container .slide-container .slide-container-center a b span {
  color: var(--dy-gold) !important;
  background: transparent !important;
}
.pc .index-content .swiper-container .slide-container .slide-container-center a p { color: rgba(255, 255, 255, .84) !important; }

/* 地图区左栏标题条（原版青绿） */
.pc .index-content .ics-map .ics-map-wrap .map-search-bar .header { background: var(--dy-red) !important; }

/* ---------------- 三步引导区（海报底部引导条） ----------------
   原版 300.cn 首页在页面内联 <style> 里对 home.css 做了覆盖（「支持两行显示」那一段），
   克隆版当初没把这层覆盖带过来，于是 .three-step-container 沿用了 home.css 的
   line-height: 92px，h1 + .three-step-sub 叠成 276px 高，而 .three-step 是
   position:absolute; height:90px 的条 —— 内容直接冲出条外压到下面「三大板块」模块上。
   下面按原版内联样式还原几何（130px 高 + flex 垂直居中、容器 750px、line-height:normal），
   文字按原版为白色（原来是深色调文字，看着像海报上的乱码字）。
   注意：.three-step 的底色必须保持 home.css 的半透明黑 rgba(0,0,0,.2)，
   改成不透明白底会让白字看不见。 */
.pc .index-content .top-banner .three-step {
  height: auto;
  min-height: 130px;
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, .2);
}
.pc .index-content .top-banner .three-step .three-step-container {
  width: min(750px, 100%);
  line-height: normal;
  text-align: center;
  padding: 15px 0;
  box-sizing: border-box;
}
.pc .index-content .top-banner .three-step .three-step-container h1 {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.4;
}
.pc .index-content .top-banner .three-step .three-step-container .three-step-sub {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  margin: 0;
  line-height: 38px;
}
.pc .index-content .top-banner .three-step .three-step-container .three-step-btn {
  margin-left: 20px;
  width: 130px;
  height: 34px;
  line-height: 34px;
  vertical-align: middle;
}

/* ---------------- 三大板块 Tab ---------------- */
.pc .index-content .ics-tabs .ics-tabs-title .ics-tabs-tab.active {
  color: var(--dy-red) !important;
  border-bottom: 3px solid var(--dy-red) !important;
}
.pc .index-content .ics-tabs .ics-tabs-title .ics-tabs-tab:hover { color: var(--dy-red); }
.pc .index-content .ics-tabs .ics-tabs-pane .cateogty-desc { color: var(--dy-ink); }
.pc .index-content .ics-tabs .ics-tabs-pane .cateogty-desc-sub ul li i.normal { color: var(--dy-red); }

/* 卡片图标兜底（原版为 3D 图片，本地无图时给品牌色渐变块） */
.index-content .big-product-item .active-icon {
  background-image: -webkit-linear-gradient(135deg, #fdf3f3 0%, #f6dcda 100%);
  background-image: linear-gradient(135deg, #fdf3f3 0%, #f6dcda 100%);
  border-radius: 14px;
  position: relative;
}
/* 卡片 SVG 图标（20260918 生成，public/s300/img/icons/）：内联 bg 覆盖兜底渐变 */
.index-content .big-product-item .active-icon.has-img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 2px 10px rgba(28, 178, 157, .14);
  transition: transform .25s ease;
}
.index-content .big-product-item:hover .active-icon.has-img { transform: scale(1.06); }
.index-content .big-product-item .active-icon.has-img::after { display: none; }
.index-content .big-product-item .active-icon::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 46px; height: 46px;
  margin: -23px 0 0 -23px;
  border-radius: 50%;
  border: 3px solid rgba(28, 178, 157, .28);
  box-sizing: border-box;
}
.index-content .big-product-item.active .active-icon::after {
  border-color: var(--dy-red);
  background: rgba(28, 178, 157, .08);
}
.index-content .big-product-item .desc .name { color: var(--dy-ink); }
.index-content .big-product-item .desc .msg { color: #7b8494; }
.index-content .big-product-item:hover .desc .name { color: var(--dy-red); }

/* ---------------- 新闻区 ---------------- */
.index-content .ics-news .news-list-header { color: var(--dy-ink); }
.index-content .ics-news .news-list-header.down { border-left-color: var(--dy-red); }
.index-content .ics-news .news-item:hover { color: var(--dy-red) !important; }
.index-content .ics-news .news-list-more a { color: var(--dy-red) !important; }
.index-content .ics-news .big-icon-title:hover { color: var(--dy-red) !important; }
.index-content .ics-news .news-list-body .big-icon {
  background: #f3f0ea;
  overflow: hidden;
  border-radius: 6px;
}
.index-content .ics-news .news-list-body .big-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.index-content .ics-news .index-section-bottom .main-btn-color { color: #fff !important; }

/* ---------------- 地图/本地化服务 ---------------- */
.index-content .ics-map .ics-title.map.bold { color: var(--dy-ink); }
.index-content .ics-map .ics-subtitle.map { color: #7b8494; }

/* 右侧地图位（原版由 300 地图 JS 渲染，本地改用品牌视觉兜底） */
.ics-map .ics-map-wrap .map-wrap {
  background:
    radial-gradient(circle at 30% 35%, rgba(28, 178, 157, .10) 0 12%, transparent 12.5%),
    radial-gradient(circle at 62% 28%, rgba(28, 178, 157, .08) 0 8%, transparent 8.5%),
    radial-gradient(circle at 46% 66%, rgba(28, 178, 157, .10) 0 9%, transparent 9.5%),
    radial-gradient(circle at 76% 62%, rgba(28, 178, 157, .07) 0 7%, transparent 7.5%),
    linear-gradient(160deg, #fbf7f2 0%, #f4ece3 100%);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.ics-map .ics-map-wrap .map-wrap::after {
  content: "全国服务网络";
  position: absolute;
  left: 0; right: 0; top: 50%;
  transform: translateY(-50%);
  text-align: center;
  font-size: 22px;
  letter-spacing: 6px;
  color: rgba(28, 178, 157, .35);
}

/* 城市结果列表 */
.ics-map .map-search-bar .result-wrap { max-height: 300px; overflow-y: auto; }
.ics-map .map-search-bar .result-item {
  padding: 10px 0;
  border-bottom: 1px dashed var(--dy-line);
  font-size: 14px;
}
.ics-map .map-search-bar .result-item .result-city { color: var(--dy-ink); font-weight: 600; margin-right: 10px; }
.ics-map .map-search-bar .result-item .result-sub { color: #98a2b3; }
.ics-map .map-search-bar .result-item .result-tag {
  display: inline-block;
  padding: 0 8px;
  line-height: 20px;
  border-radius: 10px;
  background: rgba(28, 178, 157, .08);
  color: var(--dy-red);
  font-size: 12px;
}
.ics-map .map-search-bar .result-count .amountNum { color: var(--dy-red); font-weight: 600; }
.ics-map .map-search-bar .header .title { color: var(--dy-ink); }

/* ---------------- 底部获客条（原版背景图缺失，改品牌深色） ---------------- */
.ics-tel {
  background: #1b1518 !important;
  background-image: -webkit-linear-gradient(120deg, #241a1c 0%, #3a2226 55%, #1b1518 100%) !important;
  background-image: linear-gradient(120deg, #241a1c 0%, #3a2226 55%, #1b1518 100%) !important;
}
.ics-tel .tel-inp .tel-inp-line .tel-num { color: #333; background: #fff; }
.ics-tel .tel-inp a,
.ics-tel .tel-inp a.main-btn {
  background: var(--dy-red) !important;
  color: #fff !important;
}
.ics-tel .tel-inp a:hover { background: var(--dy-red-deep) !important; }
.ics-tel .word { color: #fff; }

/* 新闻头条大图兜底（无封面时用品牌浅色块 + 文字，不显示 logo） */
.pc .index-content .ics-news .big-icon {
  display: block;
  width: 100%;
  height: 260px;
  position: relative;
  overflow: hidden;
  background: -webkit-linear-gradient(135deg, #eef7f8 0%, #d9ebee 100%);
  background: linear-gradient(135deg, #eef7f8 0%, #d9ebee 100%);
  border-radius: 6px;
}
.pc .index-content .ics-news .big-icon.is-empty::after {
  content: "碟艺餐饮 · 宴会定制";
  position: absolute;
  left: 0; right: 0; top: 50%;
  transform: translateY(-50%);
  text-align: center;
  font-size: 20px;
  letter-spacing: 4px;
  color: rgba(28, 178, 157, .32);
}

/* ---------------- 页脚（对齐原版：统计条与版权区整块深色 #2e3033 一体） ---------------- */
.footer-topbar { background: transparent; }
.footer-topbar .footer-topbar-item { color: #eee; }
.footer-topbar .footer-topbar-item .cycle { color: #eee; }
.footer-topbar .footer-topbar-item .cycle .f28 { color: var(--dy-gold); }
.footer-body { background: transparent; color: #9aa1ab; }
/* 页脚菜单：原版一行 | 分隔链接条 */
.footer-body .footer-menu { overflow: hidden; line-height: 22px; }
.footer-body .footer-menu a { display: inline-block; color: #9aa1ab; font-size: 15px; }
.footer-body .footer-menu a:hover { color: #fff; }
.footer-body .footer-menu span { display: inline-block; margin: 0 10px; color: #4a4d52; font-size: 12px; }
.footer-body .copyright { color: #7f8792; }
.footer-body .footer-tel .sll-tel { color: var(--dy-gold); }

/* 页脚指标圆环：沿用原版 100px 几何，边框恢复 300.cn 原版的青绿→蓝六色渐进。
   header.css 侧选择器为 ._pc .footer .footer-topbar-content .footer-topbar-item .cycle.cycleN（0,5,0），
   低特异性覆盖不生效，此处必须同特异性 + 后加载取胜。 */
._pc .footer .footer-topbar-content .footer-topbar-item .cycle.cycle1 { border-color: #7ee0d0; }
._pc .footer .footer-topbar-content .footer-topbar-item .cycle.cycle2 { border-color: #5ed4c4; }
._pc .footer .footer-topbar-content .footer-topbar-item .cycle.cycle3 { border-color: #38cdba; }
._pc .footer .footer-topbar-content .footer-topbar-item .cycle.cycle4 { border-color: #1cb29d; }
._pc .footer .footer-topbar-content .footer-topbar-item .cycle.cycle5 { border-color: #16a8a0; }
._pc .footer .footer-topbar-content .footer-topbar-item .cycle.cycle6 { border-color: #0e8f9c; }

/* ---------------- 悬浮工具条 ---------------- */
._tool-bar ._tool-oval-info {
  background: -webkit-linear-gradient(0deg, var(--dy-red-deep) 0%, var(--dy-red) 100%) !important;
  background: linear-gradient(0deg, var(--dy-red-deep) 0%, var(--dy-red) 100%) !important;
  color: #fff;
}
._tool-bar ._tool-bar-bottom { border-color: rgba(28, 178, 157, .22) !important; }
._tool-bar ._tool-bar-bottom .wachat-box:hover span,
._tool-bar ._tool-bar-bottom .wachat-box:hover .iconfont { color: var(--dy-red) !important; }
/* 二维码尺寸跟着卡片内容宽走（卡片 176 - 左右各 14 内边距 - 1px 边框 = 146，取 144） */
._tool-bar ._tool-bar-bottom .wachat-box .qrcode-box .qrcode-img {
  display: block;
  width: 144px;
  height: 144px;
  margin: 0 auto;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--dy-line);
  border-radius: 6px;
  box-sizing: border-box;
}
._tool-bar ._tool-bar-bottom .wachat-box:hover i,
._tool-bar ._tool-bar-bottom .wachat-box:hover span { color: var(--dy-red); }
._tool-bar ._tool-submit { background: var(--dy-red); color: #fff; border: 0; }

/* ---------------- 移动端 ---------------- */
.m-new-nav .m-top-bar .menu-btn { color: var(--dy-red); }
.m-new-nav .m-new-nav-left .m-new-nav-level-1 { color: var(--dy-ink); }
.m-new-nav .m-new-nav-left .m-new-nav-level-1.active { color: var(--dy-red); }
.m-new-nav .m-new-nav-right .m-new-nav-more { color: var(--dy-red); }
.m-new-nav .m-new-nav-block .block-title { color: var(--dy-ink); }
.m-new-nav .m-new-nav-block .block-content a { color: #5b6473; }
.m-new-nav .m-new-nav-block .block-content a:hover { color: var(--dy-red); }
.m-tool-bar .m-tool-contact .m-tool-i i { color: var(--dy-red); }

/* ---------------- 三步预约弹窗 ----------------
   原版弹窗几何写在 home.css 里、选择器带 `.pc .index-content` 前缀，
   而本站弹窗放在 footer partial（body 直下），前缀匹配不到 → 原版样式等于没生效
   （弹窗退化成 bootstrap 默认 600px 宽、选项挤成一行、按钮压字）。
   这里按原版几何补一份不带前缀的，并按放大后的字号（正文 17px）重新排版。 */
.step-dialog .modal-dialog { width: 420px; height: auto; margin: 80px auto; }
.step-dialog .modal-content { border: 0; border-radius: 6px; overflow: hidden; }
.step-dialog .modal-body { padding: 0 30px 34px; }
.step-dialog .dialog-header { position: relative; height: 40px; background: var(--dy-red); }
.step-dialog .dialog-header .dialog-header-title {
  display: inline-block;
  height: 40px;
  line-height: 40px;
  padding: 0 22px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}
.step-dialog .dialog-header .iconfont { position: absolute; top: 9px; right: 14px; font-size: 20px; color: rgba(255, 255, 255, .85); }
.step-dialog .step-wrap { width: 100%; height: auto; padding-top: 26px; }
.step-dialog .step-wrap .step-tips { font-size: 17px; line-height: 1.6; margin-bottom: 24px; }
/* 第 1 步的 4 个活动类型：竖排一行一个，避免长文案（私人宴会（婚宴 · 寿宴 · 宝宝宴））被挤着折行。
   两列网格 = 勾选框 + 文字，8 个子元素正好排成 4 行（写成 100% 单列会把勾选框和文字拆成上下两行） */
.step-dialog #dyStep1Form {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  row-gap: 14px;
  margin-bottom: 28px;
}
.step-dialog #dyStep1Form input[type="checkbox"] { margin: 0; }
.step-dialog #dyStep1Form label { font-size: 17px; color: #666; }
/* 第 2 / 3 步的表单行 */
.step-dialog .step-form-item { display: flex; align-items: center; margin-bottom: 18px; }
.step-dialog .step-form-item label { width: 92px; font-size: 17px; color: #666; }
.step-dialog .step-wrap .step-btn { background: var(--dy-red); color: #fff; }
.step-dialog .step-wrap .step-btn.disabled { background: #d9d9d9; cursor: not-allowed; }
.step-dialog .step-btn {
  display: block;
  width: 240px;
  height: 50px;
  margin: 0 auto;
  line-height: 50px;
  border-radius: 4px;
  text-align: center;
  font-size: 17px;
}
.step-dialog .step-wrap .step-form-item input.fle3 {
  flex: 1;
  width: auto;
  height: 40px;
  line-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--dy-line);
  border-radius: 4px;
  box-sizing: border-box;
}
.step-dialog .modal-body .step-wrap [type="checkbox"] + label { margin-right: 0; }

/* ---------------- 内页公共 ---------------- */
.dy-page { width: 1200px; margin: 0 auto; padding: 0 0 70px; box-sizing: border-box; }
.dy-page a:hover { color: var(--dy-red); }
.dy-crumb { font-size: 14px; color: #98a2b3; padding: 22px 0 16px; }
.dy-crumb a { color: #98a2b3; }
.dy-crumb span { color: var(--dy-ink); }
.dy-page-title { font-size: 30px; font-weight: 600; color: var(--dy-ink); padding: 6px 0 24px; }
.dy-title { font-size: 28px; font-weight: 600; color: var(--dy-ink); line-height: 1.5; padding: 6px 0 14px; }
.dy-meta { font-size: 13px; color: #98a2b3; padding-bottom: 20px; border-bottom: 1px solid var(--dy-line); margin-bottom: 26px; }
.dy-meta span { margin-left: 18px; }

/* 分类筛选 */
.dy-filter { padding-bottom: 22px; }
.dy-filter-item {
  display: inline-block;
  height: 34px;
  line-height: 34px;
  padding: 0 20px;
  margin: 0 10px 10px 0;
  border: 1px solid var(--dy-line);
  border-radius: 17px;
  font-size: 14px;
  color: #5b6473;
}
.dy-filter-item:hover { border-color: var(--dy-red); color: var(--dy-red); }
.dy-filter-item.is-cur { background: var(--dy-red); border-color: var(--dy-red); color: #fff; }
.dy-filter-item.is-cur:hover { color: #fff; }

/* 搜索条 */
.dy-search-bar { padding: 0 0 22px; }
.dy-search-bar input {
  width: 320px; height: 38px; line-height: 38px; padding: 0 12px;
  border: 1px solid var(--dy-line); border-radius: 4px; outline: none;
}
.dy-search-bar input:focus { border-color: var(--dy-red); }
.dy-search-bar button {
  height: 38px; padding: 0 22px; margin-left: 8px; border: 0;
  background: var(--dy-red); color: #fff; border-radius: 4px; cursor: pointer;
}

/* 新闻列表 */
.dy-news-item {
  display: flex;
  gap: 22px;
  padding: 22px 0;
  border-bottom: 1px solid var(--dy-line);
}
.dy-news-item:first-child { border-top: 1px solid var(--dy-line); }
.dy-news-thumb {
  flex: 0 0 220px;
  height: 140px;
  border-radius: 6px;
  overflow: hidden;
  background: -webkit-linear-gradient(135deg, #eef7f8 0%, #d9ebee 100%);
  background: linear-gradient(135deg, #eef7f8 0%, #d9ebee 100%);
}
.dy-news-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dy-news-body { flex: 1; min-width: 0; }
.dy-news-body b { display: block; font-size: 18px; color: var(--dy-ink); padding-bottom: 10px; }
.dy-news-item:hover b { color: var(--dy-red); }
.dy-news-body em {
  display: block;
  font-style: normal;
  font-size: 14px;
  line-height: 1.8;
  color: #7b8494;
  height: 50px;
  overflow: hidden;
}
.dy-news-body i { display: block; font-style: normal; font-size: 13px; color: #a7aeb9; padding-top: 12px; }

/* 站内搜索 */
.dy-search-meta { font-size: 14px; color: #7b8494; padding: 0 0 4px; }
.dy-search-meta b { color: var(--dy-red); }
.dy-search-type {
  display: inline-block;
  margin-right: 8px;
  padding: 1px 8px;
  border-radius: 3px;
  background: #f2eee9;
  color: #8a6f3c;
  font-size: 12px;
}

/* 案例网格 */
.dy-case-grid { display: flex; flex-wrap: wrap; gap: 24px; padding-bottom: 10px; }
.dy-case-card {
  width: calc((100% - 48px) / 3);
  box-sizing: border-box;
  display: block;
  border: 1px solid var(--dy-line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow .2s, transform .2s;
}
.dy-case-card:hover { box-shadow: 0 12px 24px rgba(15, 23, 42, .09); transform: translateY(-3px); }
.dy-case-cover {
  display: block;
  height: 190px;
  background: -webkit-linear-gradient(135deg, #eef7f8 0%, #d9ebee 100%);
  background: linear-gradient(135deg, #eef7f8 0%, #d9ebee 100%);
  background-size: cover;
  background-position: center;
  position: relative;
}
.dy-case-cover em {
  position: absolute;
  left: 12px; top: 12px;
  font-style: normal;
  font-size: 12px;
  color: #fff;
  background: rgba(28, 178, 157, .88);
  padding: 3px 10px;
  border-radius: 10px;
}
.dy-case-card b { display: block; font-size: 17px; color: var(--dy-ink); padding: 16px 16px 8px; }
.dy-case-card i {
  display: block;
  font-style: normal;
  font-size: 13px;
  line-height: 1.7;
  color: #7b8494;
  padding: 0 16px 18px;
  /* 字号放大后（×1.18）两行需 52px，原 44px 会裁掉第二行 */
  height: 52px;
  overflow: hidden;
}

/* 分页 */
.dy-pager { text-align: center; padding: 34px 0 0; }
.dy-pager .page-btn {
  display: inline-block;
  min-width: 34px;
  height: 34px;
  line-height: 34px;
  margin: 0 4px;
  padding: 0 10px;
  border: 1px solid var(--dy-line);
  border-radius: 4px;
  color: #5b6473;
  font-size: 14px;
}
.dy-pager .page-btn:hover { border-color: var(--dy-red); color: var(--dy-red); }
.dy-pager .page-btn.is-cur { background: var(--dy-red); border-color: var(--dy-red); color: #fff; }

/* 文章正文 */
.dy-article { font-size: 15px; line-height: 2; color: #3c4453; }
/* 详情页：图片居中后正文文字跟随居中（单页不加此类，保持左对齐） */
.dy-article.dy-text-center { text-align: center; }
.dy-article.dy-text-center ul, .dy-article.dy-text-center ol { text-align: left; }
.dy-article img { display: block; max-width: 100%; height: auto; margin: 10px auto; }
.dy-article table { width: 100%; max-width: 860px; border-collapse: collapse; margin: 14px 0; font-size: 14px; background: #fff; }
.dy-article table th, .dy-article table td { border: 1px solid #e3d5d0; padding: 6px 10px; text-align: left; vertical-align: top; line-height: 1.7; }
.dy-article table th { background: #f7ede9; color: #632523; font-weight: 600; white-space: nowrap; }
.dy-article table td.cat { background: #f7ede9; font-weight: 600; text-align: center; color: #632523; }
.dy-article h2 { font-size: 22px; margin: 26px 0 12px; color: var(--dy-ink); }
.dy-article h3 { font-size: 18px; margin: 20px 0 10px; color: var(--dy-ink); }
.dy-article p { margin: 0 0 16px; }
.dy-article ul, .dy-article ol { padding-left: 22px; margin-bottom: 16px; }
.dy-article a { color: var(--dy-red); }
.dy-nextprev { margin-top: 40px; padding-top: 18px; border-top: 1px solid var(--dy-line); font-size: 14px; }
.dy-nextprev a { color: #5b6473; display: block; padding: 7px 0; }
.dy-nextprev .dy-back { margin-top: 10px; color: var(--dy-red); }

/* ---------------- 单页正文：表格文档排版（pages.layout = doc） ----------------
   每个 <h2> 一节，左列标题＋右列内容组成表格行，形如一份菜单/配置文档。 */
.dy-doc-lead {
  font-size: 15px;
  line-height: 1.9;
  color: #5b6473;
  padding-bottom: 18px;
}
.dy-doc-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--dy-line);
}
.dy-doc-table th {
  width: 212px;
  padding: 16px 18px;
  text-align: left;
  vertical-align: top;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
  color: var(--dy-ink);
  background: #faf8f5;
  border: 1px solid var(--dy-line);
}
.dy-doc-table td {
  padding: 16px 20px;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.9;
  color: #5b6473;
  border: 1px solid var(--dy-line);
}
.dy-doc-table td p { margin: 0 0 10px; }
.dy-doc-table td p:last-child { margin-bottom: 0; }
.dy-doc-table td strong { color: var(--dy-ink); }
.dy-doc-table td a { color: var(--dy-red); }

/* ---------------- 单页正文：瀑布流排版（pages.layout = grid） ----------------
   CSS 多列形成错落瀑布；卡片 break-inside:avoid 保证不被拦腰截断。 */
.dy-masonry-lead {
  font-size: 15px;
  line-height: 1.9;
  color: #5b6473;
  padding: 18px 20px;
  margin-bottom: 22px;
  background: #faf8f5;
  border-radius: 8px;
}
.dy-masonry { columns: 3; column-gap: 22px; }
.dy-masonry-item {
  /* block（原 inline-block）：多列容器里 inline-block 卡片内含图片时，
     浏览器按行内内容重算列宽会把三列挤成单列；block + overflow 收敛列宽计算 */
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0 0 22px;
  padding: 18px 20px 6px;
  background: #fff;
  border: 1px solid var(--dy-line);
  border-radius: 8px;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}
.dy-masonry-item h2 {
  margin: 0 0 12px;
  padding-bottom: 10px;
  font-size: 16px;
  font-weight: 600;
  color: var(--dy-ink);
  border-bottom: 1px solid var(--dy-line);
}
.dy-masonry-item p { margin: 0 0 10px; font-size: 13px; line-height: 1.85; color: #6b7480; }
.dy-masonry-item p:first-of-type { color: #5b6473; }

/* ---------------- 小节配图（后台「分节配图」维护，写在小节节首） ----------------
   瀑布流卡片顶部整宽图；doc 表格等其余排版出现时也限宽保护版式。 */
.dy-sec-img { display: block; width: 100%; max-width: 100%; min-width: 0; height: auto; border-radius: 6px; }
.dy-masonry-item .dy-sec-img { margin: 0 0 12px; }
.dy-doc-table .dy-sec-img { margin: 0 0 8px; }

/* 空态 */
.dy-empty { padding: 70px 0; text-align: center; color: #98a2b3; font-size: 15px; }

/* ---------------- 移动端页脚 ----------------
   footer-form.css 里 H5 页脚用的是 rem（.footer.m { height: 11.467rem; padding: .4rem }、
   .copy-right p { font-size: .187rem }）——那是给 300.cn H5 的 flexible 布局（脚本按视口动态
   设 html 根字号）用的。本站没引那套脚本，根字号就是浏览器默认 16px，
   于是：页脚被钉死在 183px 高、版权文字只剩 3px（≈看不见），中间一大片空深色。
   这里按 px 重给一套，高度自适应内容，底部留出固定工具条（电话/预约）的高度。 */
.footer.m {
  height: auto;
  min-height: 0;
  padding: 22px 16px 62px;
  box-sizing: border-box;
}
.footer.m .copy-right { width: 100%; border-top: 1px solid #3f4245; padding-top: 16px; }
.footer.m .copy-right p {
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 6px;
  text-transform: none;
}
.footer.m .copy-right p:last-child { margin-bottom: 0; }
.footer.m .copy-right a { color: #9aa1ab; }

/* ---------------- 移动端首页 ---------------- */
.dy-m { background: #f5f3f0; }
.dy-m-hero .swiper-container { width: 100%; overflow: hidden; }
/* Swiper v2 初始化时会把容器/滑块的高度算出来写进 inline style（实测被写成 1200px），
   直接覆盖掉这里的 240px —— 结果 banner 只画 240px，下面留出近千像素空白，
   首页内容全被顶到首屏之外，看起来就是「一片空白」。
   inline 样式只能用 !important 压过去。 */
.dy-m-hero .swiper-container,
.dy-m-hero .swiper-wrapper,
.dy-m-hero .swiper-slide { height: 240px !important; }
.dy-m-hero-inner {
  height: 240px;
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: -webkit-linear-gradient(115deg, #0d2b2f 0%, #14545c 55%, #0a2024 100%);
  background: linear-gradient(115deg, #0d2b2f 0%, #14545c 55%, #0a2024 100%);
  background-size: cover;
  background-position: center;
  position: relative;
}
.dy-m-hero-inner::before {
  content: "";
  position: absolute; left: 0; top: 0; right: 0; bottom: 0;
  background: rgba(18, 12, 13, .45);
}
.dy-m-hero-inner b,
.dy-m-hero-inner p { position: relative; color: #fff; }
.dy-m-hero-inner b { font-size: 20px; line-height: 1.5; display: block; padding-bottom: 8px; }
.dy-m-hero-inner p { font-size: 13px; line-height: 1.7; color: rgba(255, 255, 255, .85); margin: 0; }
.dy-m-hero .swiper-pagination { bottom: 10px; }
.dy-m-hero .swiper-pagination-bullet-active { background: var(--dy-red); }

.dy-m-sec { background: #fff; margin-top: 10px; padding: 22px 16px; }
.dy-m-sec h2 { font-size: 18px; color: var(--dy-ink); margin: 0 0 10px; }
.dy-m-sec p { font-size: 13px; line-height: 1.7; color: #7b8494; margin: 0; }
.dy-m-intro { text-align: center; }
.dy-m-cta {
  display: inline-block;
  margin-top: 14px;
  height: 40px;
  line-height: 40px;
  padding: 0 30px;
  border-radius: 20px;
  background: var(--dy-red);
  color: #fff;
  font-size: 15px;
}
.dy-m-cta:hover { color: #fff; background: var(--dy-red-deep); }
.dy-m-title { padding-bottom: 6px; }
.dy-m-cards { display: block; }
.dy-m-card {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid #f0ece5;
}
.dy-m-card b { display: block; font-size: 15px; color: var(--dy-ink); }
.dy-m-card span { display: block; font-size: 12px; color: #98a2b3; padding-top: 4px; }
.dy-m-card:last-child { border-bottom: 0; }
.dy-m-news a {
  display: block;
  font-size: 14px;
  color: #3c4453;
  line-height: 2.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dy-m-more {
  display: block;
  margin-top: 12px;
  height: 38px;
  line-height: 38px;
  text-align: center;
  border: 1px solid var(--dy-red);
  border-radius: 19px;
  color: var(--dy-red);
  font-size: 14px;
}
.dy-m-cities span {
  display: inline-block;
  padding: 6px 12px;
  margin: 0 8px 8px 0;
  background: #f7f4f0;
  border-radius: 4px;
  font-size: 13px;
  color: #3c4453;
}
.dy-m-cities span i { font-style: normal; color: #a7aeb9; margin-left: 6px; font-size: 12px; }

/* ---------------- 响应式 ---------------- */
@media (max-width: 1240px) {
  .dy-page { width: 92%; }
}
@media (max-width: 992px) {
  .dy-case-card { width: calc((100% - 24px) / 2); }
  .dy-case-grid { gap: 24px; }
  .dy-news-thumb { flex-basis: 180px; height: 120px; }
  .dy-page-title { font-size: 24px; }
  .dy-title { font-size: 22px; }
  .dy-masonry { columns: 2; }
}
@media (max-width: 768px) {
  .dy-page { width: 94%; padding-bottom: 40px; }
  .dy-case-grid { gap: 16px; }
  .dy-case-card { width: 100%; }
  .dy-news-item { gap: 14px; padding: 16px 0; }
  .dy-news-thumb { flex-basis: 118px; height: 88px; }
  .dy-news-body b { font-size: 15px; padding-bottom: 6px; }
  .dy-news-body em { font-size: 13px; height: auto; max-height: 44px; }
  .dy-news-body i { padding-top: 8px; }
  .dy-masonry { columns: 1; }
  .dy-masonry-item { margin-bottom: 16px; padding: 14px 16px 4px; }
  .dy-doc-table th { width: 96px; padding: 12px 10px; font-size: 13px; }
  .dy-doc-table td { padding: 12px 12px; font-size: 13px; line-height: 1.8; }
  .dy-404 b { font-size: 80px; }
  .dy-404-btns a.dy-btn { margin-bottom: 10px; }
}

/* 404 */
.dy-404 { text-align: center; padding: 60px 0 80px; }
.dy-404 b { display: block; font-size: 120px; line-height: 1; color: var(--dy-red); opacity: .9; }
.dy-404 p { font-size: 16px; color: #7b8494; padding: 18px 0 30px; }
.dy-404-btns a.dy-btn {
  display: inline-block;
  height: 42px;
  line-height: 42px;
  padding: 0 30px;
  margin: 0 8px;
  border-radius: 21px;
  background: var(--dy-red);
  color: #fff;
  font-size: 15px;
}
.dy-404-btns a.dy-btn:hover { background: var(--dy-red-deep); color: #fff; }
.dy-404-btns a.dy-btn-ghost { background: #fff; color: var(--dy-red); border: 1px solid var(--dy-red); }
.dy-404-btns a.dy-btn-ghost:hover { background: var(--dy-red); color: #fff; }

/* ---------------- 右侧悬浮工具条（在线咨询 / 微信咨询 / 咨询回电） ----------------
   1) 几何：原版是按 12px 字号量的 44px 窄条，4 个字的名称折成 2 行刚好撑满 76px 按钮 /
      150px 卡片。字号放大到 14px 后内容宽只剩 24px，名称被折成 4 行冲出按钮和卡片，
      所以窄条加宽到 76px、名称单行不换行、高度按内容自适应。
   2) 观感：原版是纯平色块 + 硬阴影，重新做了圆角、柔和投影、品牌渐变与 hover 反馈。
      注意：字号统一由 site-fonts.css 管（它在本文件之后加载），这里不要再写 font-size。 */
._tool-bar { width: 76px; }
._tool-bar ._tool-oval-info {
  width: 76px;
  height: auto;
  min-height: 62px;
  padding: 10px 6px;
  white-space: nowrap;
  border-radius: 8px;
  background: linear-gradient(180deg, #2ac7b0 0%, #12a4bd 100%);
  box-shadow: 0 6px 18px rgba(13, 43, 47, .18);
  -webkit-transition: transform .2s ease, box-shadow .2s ease;
  transition: transform .2s ease, box-shadow .2s ease;
}
._tool-bar ._tool-oval-info:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(13, 43, 47, .26);
}
._tool-bar ._tool-bar-bottom {
  width: 76px;
  min-height: 0;
  padding: 8px 6px;
  border: 1px solid rgba(28, 178, 157, .22);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(13, 43, 47, .12);
}
._tool-bar ._tool-bar-bottom .wachat-box {
  white-space: nowrap;
  padding: 8px 0 10px;
  border-bottom: 1px solid #eef1f4;
  border-radius: 6px;
  -webkit-transition: background .2s ease;
  transition: background .2s ease;
}
._tool-bar ._tool-bar-bottom .wachat-box:hover { background: #f2fbfa; }
._tool-bar ._tool-bar-bottom .phone-box { padding-bottom: 0; margin-top: 4px; }
._tool-bar ._tool-oval-info span,
._tool-bar ._tool-bar-bottom .wachat-box span { white-space: nowrap; }

/* 悬浮二维码 / 回拨面板：整块贴在窄条左侧、并垂直居中对齐到对应的那一项，
   箭头正好指向该项。原版是 right:10% + margin-right 硬凑出来的偏移，
   窄条加宽后会把面板压到窄条上。 */
._tool-bar .qrcode-box {
  top: 50%;
  right: 100%;
  margin-right: 14px;
  transform: translateY(-50%);
  width: 176px;
  height: auto;
  padding: 14px;
  border: 1px solid var(--dy-line);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(13, 43, 47, .18);
}
._tool-bar .wachat-box:hover .qrcode-box { height: auto; }
._tool-bar .qrcode-box img { display: block; margin: 0 auto; border: 1px solid var(--dy-line); border-radius: 6px; box-sizing: border-box; }
._tool-bar .qrcode-tip { margin-top: 12px; line-height: 1.5; color: #8a94a3; }
._tool-bar .qrcode-tip span { color: var(--dy-red); font-weight: 600; }
/* 面板右侧的小箭头 + 鼠标从菜单移到面板时保持开启的透明过渡区 */
._tool-bar .qrcode-box::after {
  width: 12px;
  height: 12px;
  margin-top: -6px;
  right: -6px;
  box-shadow: 4px 4px 10px rgba(13, 43, 47, .10);
}
._tool-bar .qrcode-box::before { top: -14px; bottom: -14px; height: auto; right: -22px; }
/* 回拨表单面板
   注意：这个元素同时带 `_tool-contact` 类，原版给它写了 `bottom: -70px`。
   一旦再叠加 `top: 50%`，上下定位同时生效会【直接决定高度】，
   内容比那个高度高时按钮就被挤到卡片外面 —— 所以必须把 bottom 复位成 auto。 */
._tool-bar .phone-box .qrcode-box {
  top: 50%;
  bottom: auto;
  right: 100%;
  transform: translateY(-50%);
  width: 252px;
  height: auto;
  min-height: 0;
  padding: 18px;
}
._tool-bar .phone-box .qrcode-box ._tool-contact-cell { padding-bottom: 0; }
._tool-bar .phone-box .qrcode-box ._tool-contact-type { margin-left: 10px; line-height: 30px; }
._tool-bar .phone-box .qrcode-box ._tool-contact-mobile { margin-top: 16px; padding-left: 0; }
/* 原版表单是「输入框左缩进 30px + 160px 宽的方角按钮」，面板变宽后左缩进显得很偏，
   这里改成整宽 + 圆角，和上面两块卡片的观感统一 */
._tool-bar ._tool-contact ._tool-contact-cell ._tool-contact-mobile { padding-left: 0; }
._tool-bar ._tool-contact ._tool-contact-cell ._tool-contact-mobile ._phoneNumber {
  width: 100%;
  height: 38px;
  line-height: 38px;
  border: 1px solid var(--dy-line);
  border-radius: 4px;
  box-sizing: border-box;
}
._tool-bar ._tool-contact ._tool-contact-cell ._tool-submit {
  width: 100%;
  height: 40px;
  line-height: 40px;
  margin: 12px 0 0;
  border-radius: 4px;
  background: linear-gradient(90deg, #22c4ab 0%, #12a9bd 100%);
}

/* =====================================================================
   自适应：≥992px 一律使用 PC 版式（不再跳到 H5），固定宽容器改流式
   用 min()/百分比覆盖，保证 ≥1200px 时与原版几何完全一致
   ===================================================================== */
/* ===== 自适应基线：任意宽度生效，≥1200px 时与原版几何完全一致 ===== */
  /* 主容器 */
  .new-w1200 { width: min(1200px, 100%); box-sizing: border-box; }
  .hidden-xs .top-new-menu .topbar-body { min-width: 0; }
  .pc .index-content .swiper-container { min-width: 0; }
  .pc .index-content .swiper-container .slide-container .slide-container-center { width: min(1200px, 100%); }
  ._pc .footer .footer-topbar .line { width: min(1200px, 100%); }

  /* Tab 三等分 */
  .pc .index-content .ics-tabs .ics-tabs-title .ics-tabs-tab { width: 33.3333%; }

  /* 新闻：三列自适应（1200px 时恰为原版 370px 列宽） */
  .pc .index-content .ics-news .news-content-column { width: calc(33.3333% - 30px); }
  .pc .index-content .ics-news .news-content-column.nomr { margin-right: 0; }
  .pc .index-content .ics-news .news-content-column .line { width: 100%; }
  .pc .index-content .ics-news .news-content-column .big-icon { width: 100%; }
  /* 新闻头条两列 */
  .pc .index-content .ics-news .zuixindongtai .news-content-column.col1 { width: calc(33.3333% - 30px); }
  .pc .index-content .ics-news .zuixindongtai .news-content-column.col2 { width: min(740px, calc(100% - 400px)); }

  /* 地图区左右分栏 */
  .pc .index-content .ics-map .ics-map-wrap .map-wrap { width: min(680px, calc(100% - 490px)); }

/* =====================================================================
   ≤1160px：一行放不下。导航字号单独一档 16px（见 site-fonts.css），
             实测一行需要 1110px（logo+菜单 823 + 搜索/关于我们/预约 287），
             留 50px 余量防字体差异，窗口 <1161 时改为换行：
             第一行 logo + 搜索/关于我们/预约，第二行菜单（仍放不下时继续换行）。
             窗口 ≥1161 保持 300.cn 原版单行版式（不缩字号、不缩 logo、不隐藏预约按钮）。
   ===================================================================== */
@media (max-width: 1160px) {
  .hidden-xs .top-new-menu { height: auto; min-height: 63px; }
  .hidden-xs .top-new-menu .topbar-body { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; }
  /* 取消 .fl 盒子，让 logo 与菜单成为导航行的一级 flex 子项，才能整行换行 */
  .hidden-xs .top-new-menu .topbar-body > .fl { display: contents; }
  .hidden-xs .top-new-menu .topbar-body > .fr { order: 1; margin-left: auto; }
  .hidden-xs .top-new-menu .logo { order: 0; }
  .hidden-xs .top-new-menu .menu-body { order: 2; flex: 0 0 100%; margin-left: 0; padding: 0 0 10px 20px; }
  .hidden-xs .top-new-menu .menu-body .menu-group { display: flex; flex-wrap: wrap; }
  .hidden-xs .top-new-menu .menu-body .menu-group .menu-item { float: none; }
  /* 巨型下拉紧贴两行导航的下沿，内容与 logo / 菜单左右对齐（两侧都留 20px，
     只留左侧会让最后一列顶到窗口右边缘） */
  .hidden-xs .top-new-menu .menu-detail { top: 100%; }
  .hidden-xs .top-new-menu .menu-detail .menu-detail-columns { padding: 0 20px; }
}

/* ≤991px：平板/小笔记本/窄桌面 —— 只做重排（新闻三列改两列、地图区按比例收窄），
   字号、图片高度、首屏高度一律保持原版尺寸，不做缩放 */
@media (max-width: 991px) {
  /* 新闻：头条列 + 描述列 */
  .pc .index-content .ics-news .zuixindongtai .news-content-column.col2 { width: calc(100% - 300px); }
  /* 三列新闻改为两列，第三块自动换行 */
  .pc .index-content .ics-news .news-content-column { width: calc(50% - 15px); margin-right: 30px; }
  .pc .index-content .ics-news .news-content-column.nomr { margin-right: 0; }
  /* 地图区左右分栏（高度沿用原版 500px） */
  .pc .index-content .ics-map .ics-map-wrap .map-wrap { width: calc(100% - 490px); }
}

/* =====================================================================
   ≤767px：桌面浏览器（非移动 UA）强制保持 PC 版式，避免被 bootstrap hidden-* 切成 H5
   注意 :not(.hidden-xs)——PC 页脚等元素同时带 hidden-xs，必须优先显示
   ===================================================================== */
/* 桌面浏览器：PC 块恒显示、移动块恒隐藏（覆盖 bootstrap hidden-* 的全部断点） */
html.is-desktop .hidden-xs { display: block !important; }
html.is-desktop .hidden-sm:not(.hidden-xs),
html.is-desktop .hidden-md:not(.hidden-xs),
html.is-desktop .hidden-lg:not(.hidden-xs) { display: none !important; }

/* ---------------- 轮播文案随视口缩放（窄桌面不再换行/被裁） ----------------
   原版仅 48px 固定值，当视口 <860px 时 a 容器可用宽不足，长标题被迫拆行。
   这里按视口宽度线性缩放：1440+ 保持原版 48px，1024≈34px，720≈26px。 */
.pc .index-content .top-banner .slide-container-center b {
  font-size: clamp(26px, 3.35vw, 48px);
  line-height: 1.18;
}
.pc .index-content .top-banner .slide-container-center b span {
  font-size: clamp(14px, 1.68vw, 24px);
}
.pc .index-content .top-banner .slide-container-center p {
  font-size: clamp(13px, 1.25vw, 18px);
  margin-top: clamp(10px, 1.4vw, 20px);
}
.pc .index-content .swiper-container .slide-container .slide-container-center a {
  left: clamp(20px, 6.9vw, 100px);
  max-width: calc(100% - 60px);
}

@media (max-width: 767px) {
  /* 窄桌面窗口（浏览器窗口/缩放导致 CSS 视口 <768）：只做重排，
     首屏高度（600px 链）、导航字号、logo、预约按钮、悬浮咨询条全部保持原版尺寸 */
  html.is-desktop .pc .index-content .ics-news .news-content-column { width: calc(50% - 15px); margin-right: 30px; }
  html.is-desktop .pc .index-content .ics-news .news-content-column.nomr { margin-right: 0; }
  html.is-desktop .pc .index-content .ics-news .zuixindongtai .news-content-column.col1 { width: calc(50% - 15px); }
  html.is-desktop .pc .index-content .ics-news .zuixindongtai .news-content-column.col2 { width: calc(50% - 15px); }
  /* 本地化服务区：原版是 470+680 左右分栏塞在固定高 534 的白卡里，
     窄窗口改成上下排列后高度会翻倍，必须把白卡高度改成 auto 并给地图定高，
     否则地图块会冲出白卡、盖住下面的获客条和页脚 */
  html.is-desktop .pc .index-content .ics-map .ics-map-wrap { height: auto; }
  html.is-desktop .pc .index-content .ics-map .ics-map-wrap .map-search-bar {
    float: none;
    width: 100%;
    height: auto;
    margin-right: 0;
  }
  html.is-desktop .pc .index-content .ics-map .ics-map-wrap .map-wrap {
    float: none;
    width: 100%;
    height: 360px;
    margin-top: 18px;
  }
}

/* =====================================================================
   H5 版（<768px）品牌化：原版是 300.cn 的深色顶栏 + 青绿底栏，换成站点品牌
   ===================================================================== */
.m-new-nav .m-top-bar { background: #fff !important; border-bottom: 1px solid #f0ece5; }
.m-new-nav .m-top-bar .logo img { height: 32px; width: auto; }
.m-new-nav .m-top-bar .menu-btn { color: var(--dy-red) !important; }
/* 抽屉导航：原版是深色抽屉（条目底 #191b1e、文字 #999），和我们的白顶栏 / 浅色页面不搭。
   下面统一成浅色主题。注意选择器要写到与 header.m.css 同等深度，
   否则它的 `.m-new-nav .m-new-nav-content .m-new-nav-left .m-new-nav-level-1` 优先级更高、
   会把你写的底色和文字色压回去 —— 之前「浅底 + 深块 + 灰字」的混乱就是这么来的。 */
.m-new-nav .m-new-nav-content { background: #fff; box-shadow: 0 14px 30px rgba(13, 43, 47, .16); }
.m-new-nav .m-new-nav-content .m-new-nav-left { background: #f6f8f9; border-right: 1px solid #eceff2; }
.m-new-nav .m-new-nav-content .m-new-nav-left .m-new-nav-level-1 {
  background: transparent;
  color: #333a44;
  border-bottom: 1px solid #eceff2;
}
.m-new-nav .m-new-nav-content .m-new-nav-left .m-new-nav-level-1.active {
  background: #fff;
  color: var(--dy-red);
  font-weight: 600;
}
.m-new-nav .m-new-nav-content .m-new-nav-right { background: #fff; }
.m-new-nav .m-new-nav-content .m-new-nav-right .m-new-nav-block { border-bottom: 1px solid #eceff2; }
.m-new-nav .m-new-nav-content .m-new-nav-right .m-new-nav-block .block-title { color: #98a2b3; }
/* 子项：原版是 inline-block + min-width:16vw —— 4 个字的名称正好等于 16vw，
   条目首尾相接贴成一串（「位餐分餐私宴家宴BBQ 烧烤」）。
   改成 flex 换行 + 右侧留白，宽度按内容自适应，长名称自动掉到下一行。 */
.m-new-nav .m-new-nav-content .m-new-nav-right .m-new-nav-block .block-content .block-content-item {
  display: flex;
  flex-wrap: wrap;
  min-height: 0;
  line-height: 1;
}
.m-new-nav .m-new-nav-content .m-new-nav-right .m-new-nav-block .block-content .block-content-item a {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  min-width: 0;
  padding-right: 5vw;
  margin-bottom: 2.2vw;
  line-height: 2.1;
  color: #333a44;
}
.m-new-nav .m-new-nav-content .m-new-nav-right .m-new-nav-block .block-content .block-content-item a:hover,
.m-new-nav .m-new-nav-content .m-new-nav-right .m-new-nav-block .block-content .block-content-item a:active { color: var(--dy-red); }
.m-new-nav .m-new-nav-content .m-new-nav-right .m-new-nav-more { color: var(--dy-red); }

.m-tool-bar { background: var(--dy-red) !important; }

/* ===== 首页「全国本地化服务」地图板块（对齐 300.cn，Leaflet 本地库 + 高德瓦片） ===== */
/* 省份下拉（原版为 bootstrap-select，这里原生 select 对齐视觉） */
.ics-map .map-search-bar .header .dy-map-select { text-align: center; padding-bottom: 16px; }
.ics-map .map-search-bar .header .dy-map-select select {
  width: 170px; height: 38px; padding: 0 10px; border: none; border-radius: 4px;
  background: #fff; color: #555; font-size: 14px; outline: none; cursor: pointer;
}
/* 网点卡片（原版 .result 结构） */
.ics-map .map-search-bar .result { padding: 14px 12px 30px; }
.ics-map .map-search-bar .result .title { color: #333; font-weight: bold; }
.ics-map .map-search-bar .result .dy-result-sub { margin-left: 8px; font-weight: normal; color: #999; font-size: 12px; }
.ics-map .map-search-bar .result .result-item { margin-top: 4px; }
.ics-map .map-search-bar .result:hover, .ics-map .map-search-bar .result.active { background: #fff; }
/* 「到这里去」按钮（home.css 曾全局隐藏，这里在板块内恢复） */
html.is-desktop .ics-map .map-search-bar .result .navgitor-btn {
  display: inline-block; position: absolute; right: 12px; bottom: 8px;
  font-size: 12px; color: #16c3ca; cursor: pointer;
}
html.is-desktop .ics-map .map-search-bar .result .navgitor-btn:hover { text-decoration: underline; }
/* 地图容器 */
.ics-map .map-wrap { background: #eef2f5; }
.ics-map .map-wrap .leaflet-container { background: #eef2f5; font-family: inherit; }
/* 打点图标（品牌青色脉冲点 + 城市名标签） */
.dy-map-pin i {
  position: absolute; left: -6px; top: -6px; width: 12px; height: 12px; border-radius: 50%;
  background: #16c3ca; border: 2px solid #fff;
  box-shadow: 0 0 0 3px rgba(22, 195, 202, .25), 0 0 12px rgba(22, 195, 202, .65);
}
.dy-map-pin b {
  position: absolute; left: 12px; top: -22px; white-space: nowrap; font-size: 12px; font-weight: normal;
  color: #333; background: rgba(255, 255, 255, .92); padding: 2px 7px; border-radius: 3px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}
/* 弹出信息窗 */
.ics-map .leaflet-popup-content-wrapper { border-radius: 6px; box-shadow: 0 2px 14px rgba(0, 0, 0, .2); }
.ics-map .leaflet-popup-content { margin: 12px 14px; }
/* 地图缩放控件：home.css 的 .index-content a:link{color:#fff}(0,2,1) 压过 Leaflet 默认
   .leaflet-bar a{color:black}(0,1,1)，导致 +/− 白底白字不可见。此处提高优先级改灰色符号 */
.ics-map .map-wrap .leaflet-bar a,
.ics-map .map-wrap .leaflet-bar a:link,
.ics-map .map-wrap .leaflet-bar a:visited {
  color: #666 !important;
  background-color: #fff !important;
  border-bottom-color: #ddd !important;
}
.ics-map .map-wrap .leaflet-bar a:hover,
.ics-map .map-wrap .leaflet-bar a:focus {
  color: #333 !important;
  background-color: #f4f4f4 !important;
}
.ics-map .map-wrap .leaflet-bar a.leaflet-disabled { color: #bbb !important; }
.ics-map .map-wrap .leaflet-bar { box-shadow: 0 1px 5px rgba(0, 0, 0, .4) !important; }
/* 信息窗关闭按钮 ×（同为 <a>，一并修） */
.ics-map .map-wrap .leaflet-popup-close-button,
.ics-map .map-wrap .leaflet-popup-close-button:link { color: #666 !important; }
.ics-map .map-wrap .leaflet-popup-close-button:hover { color: #333 !important; }
.dy-map-pop h4 { margin: 0 0 6px; font-size: 14px; color: #333; }
.dy-map-pop p { margin: 2px 0; font-size: 12px; color: #666; }
.dy-map-pop .dy-map-nav { display: inline-block; margin-top: 8px; font-size: 12px; color: #16c3ca; }
/* 移动端网点卡片 */
.dy-m-cities { display: block; }
.dy-m-cities .dy-m-city {
  background: #fff; border-radius: 8px; padding: 12px 14px; margin-bottom: 10px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .06); display: flex; flex-direction: column; gap: 4px;
}
.dy-m-cities .dy-m-city-name { font-size: 15px; color: #333; font-weight: bold; }
.dy-m-cities .dy-m-city-name i { font-style: normal; font-weight: normal; font-size: 12px; color: #999; margin-left: 8px; }
.dy-m-cities .dy-m-city-addr, .dy-m-cities .dy-m-city-tel { font-size: 12px; color: #777; }

/* ===== 「数字门户」同款场景模块（zwz_flex_box，样式主体在 components/2021_12_update.css） ===== */
/* 原版行业图标/勾选图标为 PNG，本地缺失 → 用品牌色首字圆徽兜底 */
.pc .zwz_flex_box .icon_box .item i {
  display: flex; align-items: center; justify-content: center;
  font-style: normal; color: #fff; font-size: 20px;
  height: 50px; line-height: 1; border-radius: 50%;
  background: linear-gradient(135deg, #1CB29D, #1697c9);
  box-shadow: 0 2px 8px rgba(28, 178, 157, .28);
}
.pc .zwz_flex_box .icon_box .item:hover i { transform: translateY(-2px); }
/* 圆徽内白色线条 SVG 图标（20260918 生成）：i 已 flex 居中，img 定尺寸 */
.pc .zwz_flex_box .icon_box .item i img {
  width: 26px; height: 26px; display: block;
}
.pc .zwz_flex_box .link_box .item .icon img {
  width: 24px; height: 24px; display: block;
}
.pc .zwz_flex_box .link_box .item .icon {
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 13px; border-radius: 50%;
  background: linear-gradient(135deg, #1CB29D, #1697c9);
}
.pc .zwz_flex_box .left_box .box .dy-gou {
  display: inline-block; width: 16px; font-style: normal;
  color: #1CB29D; font-weight: bold; margin-right: 6px;
}
/* 左卡背景兜底：原版为 bg-img 装饰图，本地改为品牌浅色渐变底 */
.pc .zwz_flex_box .left_box { background: linear-gradient(160deg, #f0fbf9, #e8f7fd); }
.pc .zwz_flex_box .left_box .box h2 { color: #14907f; }
.pc .zwz_flex_box .left_box .box h3 { color: #333; }
.m-tool-bar .m-tool-contact { background: transparent !important; }
.m-tool-bar .m-tool-contact .m-tool-tip { color: #fff !important; }
.m-tool-bar .m-tool-contact .m-tool-i i,
.m-tool-bar .m-tool-contact .m-tool-i .iconfont { color: #fff !important; }
.m-tool-bar .m-tool-line { background: rgba(255, 255, 255, .28) !important; }

/* ============================================================
 * 20260927 SEO 结构改版补丁：
 * 列表/搜索页板块标题 div → h1（P4），对冲 bootstrap h1 默认 margin，
 * 保持原视觉（padding 已在 .dy-page-title 上）。
 * ============================================================ */
h1.dy-page-title { margin: 0; }
/* P5：main 语义容器兜底（与原 div 同为块级，无视觉变化） */
main { display: block; }

/* P5：header.css 的 .topbar-body > div > div 依赖 div 标签，
   #topMenu 语义化为 <nav> 后该规则不再命中（导航会掉行、压到 banner 上），
   此处按类名补回等价声明，保证导航与 logo 同行垂直居中。 */
.hidden-xs .top-new-menu .topbar-body > div > .menu-body {
  display: inline-block;
  vertical-align: middle;
}

/* 窄屏正文表格适配（菜单/租赁表 3 列在小屏允许表头换行） */
@media (max-width: 767px) {
  .dy-article table { font-size: 12px; }
  .dy-article table th { white-space: normal; }
  .dy-article table th, .dy-article table td { padding: 4px 6px; }
}

