/* Unified PC/mobile layer for the native XunRui template. */
html { -webkit-text-size-adjust: 100%; }
img { max-width: 100%; height: auto; }
.mobile-menu-toggle { display: none; }
.topline-welcome { float: left; max-width: calc(100% - 235px); overflow: hidden; color: #fff; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.station-badge { display: inline-block; margin: 39px 0 0 18px; padding: 6px 11px; border: 1px solid #cbdcf8; border-radius: 16px; color: #1955ba; background: #f4f8ff; font-size: 13px; line-height: 1; vertical-align: top; }

/* 当前分站本地服务信息 */
.current-station { padding: 20px 0; color: #fff; background: linear-gradient(105deg, #123c85, #1955ba 56%, #3979dc); }
.current-station-inner { display: flex; align-items: center; gap: 24px; }
.current-station-mark { flex: 0 0 auto; padding: 9px 12px; border: 1px solid rgba(255,255,255,.42); border-radius: 4px; font-size: 14px; letter-spacing: 1px; }
.current-station-copy { flex: 1 1 auto; min-width: 0; }
.current-station-copy h2 { margin: 0 0 5px; color: #fff; font-size: 22px; font-weight: 600; }
.current-station-copy p { overflow: hidden; margin: 0; color: rgba(255,255,255,.8); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.current-station-phone { flex: 0 0 auto; padding: 10px 16px; border-radius: 4px; color: #1955ba; background: #fff; font-size: 14px; }
.current-station-phone strong { margin-left: 5px; font-size: 16px; }

/* 首页“音乐喷泉控制系统”四张设备图：使用网格，避免旧浮动规则造成 3+1 的残缺布局。 */
.eq-control { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; max-width: 1200px; margin: 0 auto; }
.eq-control img { display: block; float: none !important; width: 100% !important; height: auto; padding: 0 !important; }
.mobile-contact-bar, .mobile-wechat-modal { display: none; }

/* 全国分站入口 */
.in_station { padding: 58px 0 68px; background: linear-gradient(135deg, #f4f8ff 0%, #fff 58%, #eef5ff 100%); }
.in_station .in_title { margin-bottom: 28px; }
.station-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.station-card { display: flex; min-height: 76px; padding: 14px 15px; flex-direction: column; justify-content: space-between; border: 1px solid #e1e8f3; border-radius: 7px; color: #20344e; background: #fff; box-shadow: 0 4px 13px rgba(32,76,132,.05); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.station-card:hover { transform: translateY(-3px); border-color: #1955ba; color: #1955ba; box-shadow: 0 10px 20px rgba(25,85,186,.14); }
.station-card strong { font-size: 17px; font-weight: 600; }
.station-card span { margin-top: 7px; color: #7d8da1; font-size: 12px; }
.station-card i { color: #1955ba; font-size: 16px; font-style: normal; }

/* 列表分页：紧凑横向按钮组，覆盖旧模板的分散排列与文字折行。 */
.pagebar { clear: both; padding: 28px 0 !important; border-top: 1px solid #edf0f5; }
.pagebar .pagination { display: flex !important; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 8px; margin: 0 !important; }
.pagebar .pagination a, .pagebar .pagination span { box-sizing: border-box; display: inline-flex !important; float: none !important; align-items: center; justify-content: center; min-width: 38px; height: 38px; margin: 0 !important; padding: 0 12px !important; border: 1px solid #d8e0ed; border-radius: 5px; color: #37516f; background: #fff; font-size: 14px; line-height: 1 !important; white-space: nowrap !important; word-break: keep-all !important; transition: .18s ease; }
.pagebar .pagination a:hover { border-color: #1955ba; color: #1955ba; background: #f1f6ff; }
.pagebar .pagination a.page-num-current, .pagebar .pagination span.page-num-current { border-color: #1955ba; color: #fff; background: #1955ba; box-shadow: 0 3px 8px rgba(25,85,186,.22); }
/* 迅睿分页会在外层 pagination 中再输出一个 ul.pagination；重置 PB 的 li 宽度和虚线。 */
.pagebar > .pagination { display: block !important; }
.pagebar > .pagination > ul.pagination { display: flex !important; width: auto !important; min-width: 0 !important; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 8px; margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
.pagebar > .pagination > ul.pagination > li { display: block !important; float: none !important; flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 0 !important; list-style: none !important; }
.pagebar > .pagination > ul.pagination > li:first-child, .pagebar > .pagination > ul.pagination > li:last-child { display: none !important; }
.pagebar > .pagination > ul.pagination > li > a { box-sizing: border-box; display: flex !important; float: none !important; align-items: center; justify-content: center; min-width: 38px; height: 38px; margin: 0 !important; padding: 0 12px !important; border: 1px solid #d8e0ed !important; border-radius: 5px; color: #37516f !important; background: #fff !important; font-size: 14px; line-height: 1 !important; white-space: nowrap !important; word-break: keep-all !important; text-decoration: none; }
.pagebar > .pagination > ul.pagination > li > a:hover { border-color: #1955ba !important; color: #1955ba !important; background: #f1f6ff !important; }
.pagebar > .pagination > ul.pagination > li.active > a { border-color: #1955ba !important; color: #fff !important; background: #1955ba !important; box-shadow: 0 3px 8px rgba(25,85,186,.22); }

@media (max-width: 960px) {
  html, body { min-width: 0 !important; width: 100%; overflow-x: hidden; }
  body { overflow-x: hidden; padding-bottom: 66px; }
  .header, .header_top, .in_product, .footer, .foot_nav, .banner { min-width: 0 !important; width: 100%; }
  .wrap { width: auto; max-width: 1200px; margin-left: 18px; margin-right: 18px; }
  .topline { height: 34px; line-height: 34px; }
  .topline-welcome { display: none; }
  .sc { float: none; text-align: center; }
  .station-badge { display: none; }
  .current-station { padding: 18px 0; }
  .current-station-inner { display: block; margin-left: 14px; margin-right: 14px; }
  .current-station-mark { display: inline-block; margin-bottom: 10px; padding: 5px 9px; font-size: 12px; }
  .current-station-copy h2 { font-size: 20px; }
  .current-station-copy p { overflow: visible; white-space: normal; font-size: 13px; line-height: 1.65; }
  .current-station-phone { display: inline-block; margin-top: 12px; padding: 9px 13px; }

  .header_top .wrap { display: block; margin: 0 14px; position: relative; }
  .header_top h1 { float: none; text-align: left; }
  .header_top .logo { float: none; display: inline-block; height: 48px; margin: 10px 0; }
  .mobile-menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; position: absolute; right: 0; top: 15px; width: 44px; height: 44px; padding: 0; border: 1px solid #1955ba; border-radius: 4px; background: #fff; }
  .mobile-menu-toggle i { display: block; width: 20px; height: 2px; margin: 0 auto; background: #1955ba; }
  .header_nav { display: none; float: none; width: 100%; overflow: visible; text-align: left; }
  .menu-open .header_nav { display: block; position: absolute; z-index: 10020; top: 64px; left: 0; right: 0; width: auto; max-height: calc(100vh - 72px); overflow-y: auto; padding: 8px 16px 18px; background: #fff; border-top: 1px solid #e6e6e6; border-bottom: 3px solid #1955ba; box-shadow: 0 8px 18px rgba(0,0,0,.14); }
  .menu { display: block; min-width: 0; padding: 0; }
  .menu > li { display: block; height: auto; min-height: 46px; line-height: 46px; margin: 0; border-bottom: 1px solid #f0f0f0; }
  .menu > li > a { font-size: 15px; }
  /* 手机弹出导航只保留一级栏目，避免菜单过长。 */
  .erji { display: none !important; }
  .header_top.nav01 { min-width: 0; position: relative; }

  .banner17 .shutter { width: 100% !important; height: auto !important; aspect-ratio: 2.95 / 1; left: auto !important; margin-left: 0 !important; }
  .banner17 .shutter-img, .banner17 .shutter-img ul { position: relative !important; width: 100% !important; height: 100% !important; }
  .banner17 .shutter-img li { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; }
  .banner17 .shutter-img a { position: relative !important; display: block; width: 100% !important; height: 100%; }
  .banner17 .shutter-img img { width: 100% !important; height: 100% !important; min-height: 0; object-fit: cover; }
  .banner17 .shutter-btn { display: none !important; }
  .eq-control { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0 12px; }
  .in_station { padding: 38px 0 42px; }
  .station-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
  .station-card { min-height: 66px; padding: 11px 10px; }
  .station-card strong { font-size: 15px; }

  .in_title { margin-bottom: 22px; padding: 32px 0 20px; background-size: 150px auto; }
  .in_title h2 { font-size: 26px; background-size: contain; }
  .in_title p { font-size: 14px; }
  .in_product { padding-bottom: 18px; }
  .in_product .hd { overflow-x: auto; margin-bottom: 20px; text-align: left; }
  .in_product .hd ul { display: flex; width: max-content; margin: 0; padding-bottom: 3px; }
  .in_product .hd ul li { flex: 0 0 auto; margin: 0 5px; width: 126px; line-height: 38px; }
  .in_product .hd ul li a { font-size: 15px; }
  .in_product .bd ul, .product_list ul { display: flex; flex-wrap: wrap; margin: 0 -6px; }
  .in_product .bd ul li, .product_list ul li { float: none; width: calc(50% - 12px); margin: 0 6px 16px; }
  .in_product .bd ul li .pic, .product_list ul li .pic { width: 100%; height: auto; aspect-ratio: 1.43; }
  .in_product .bd ul li .pic img, .product_list ul li .pic img { width: 100%; height: 100%; object-fit: cover; }

  .main { width: auto; margin: 0 14px; }
  .aside { display: none; }
  .right { float: none; width: 100%; }
  .right .box { padding: 0; }
  .right .boxtitle { padding: 18px 0; }
  .right .boxtext { padding: 0; }
  .newscontent .zhengwen, .newscontent .details { font-size: 15px; line-height: 1.9; }
  .footer, .foot_nav { min-width: 0; }
  .foot_nav { height: auto; min-height: 0; padding: 17px 0 11px; line-height: normal; }
  .foot_nav .wrap, .footer .wrap { margin-left: 14px; margin-right: 14px; }
  .foot_nav img { display: block; height: 38px; max-height: 38px; margin: 0 auto 14px; }
  .foot_nav ul { float: none; display: flex; flex-wrap: wrap; justify-content: center; margin: 0; }
  .foot_nav ul li { margin: 0 0 8px; }
  .foot_nav ul li a { display: block; padding: 0 9px; font-size: 14px; line-height: 18px; border-left-color: rgba(255,255,255,.45); }
  .footer { padding: 20px 0 18px; background: #102b57; color: rgba(255,255,255,.8); }
  .footer .chat, .footer .notice { display: none; }
  .footer .contact { float: none; width: 100%; margin: 0; text-align: center; }
  .footer .contact strong { display: block; margin-bottom: 9px; color: #fff; font-size: 19px; }
  .footer .contact .txt p { margin: 4px 0; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.55; }
  .footer .wrap[style] { display: none; }

  .mobile-contact-bar { display: flex; position: fixed; z-index: 11000; right: 0; bottom: 0; left: 0; height: 58px; box-shadow: 0 -3px 15px rgba(0,0,0,.18); }
  .mobile-contact-bar a, .mobile-contact-bar button { display: flex; flex: 1; align-items: center; justify-content: center; gap: 7px; border: 0; color: #fff; font: 600 16px/1 Arial, "Microsoft YaHei", sans-serif; }
  .mobile-contact-bar span { font-size: 23px; line-height: 1; }
  .mobile-contact-phone { background: #1955ba; }
  .mobile-contact-wechat { background: #09a66b; cursor: pointer; }
  .mobile-wechat-modal { display: none; position: fixed; z-index: 11010; inset: 0; align-items: center; justify-content: center; padding: 24px; background: rgba(0,0,0,.58); }
  .mobile-wechat-modal.is-open { display: flex; }
  .mobile-wechat-card { position: relative; width: min(290px, 100%); padding: 28px 24px 24px; border-radius: 12px; text-align: center; background: #fff; box-shadow: 0 12px 35px rgba(0,0,0,.3); }
  .mobile-wechat-card strong { display: block; color: #1b2d47; font-size: 20px; }
  .mobile-wechat-card p { margin: 8px 0 17px; color: #777; font-size: 14px; }
  .mobile-wechat-card img { display: block; width: min(210px, 100%); height: auto; margin: 0 auto; }
  .mobile-wechat-close { position: absolute; top: 7px; right: 11px; width: 30px; height: 30px; padding: 0; border: 0; color: #8791a0; background: none; font-size: 28px; line-height: 28px; cursor: pointer; }

  /* 内页的 style.css 在模板后加载；这里用 !important 覆盖其固定 1200/910px 布局。 */
  .main { width: auto !important; margin: 0 14px !important; padding: 14px 0 !important; overflow: visible !important; }
  .right { float: none !important; width: 100% !important; }
  .right .box, .right .boxtext, .right .boxtitle { box-sizing: border-box; max-width: 100% !important; }
  .ipro { padding-top: 18px; }
  .ipro .list { display: flex; flex-wrap: wrap; gap: 14px; }
  .ipro .item { float: none !important; width: calc(50% - 7px) !important; margin: 0 !important; }
  .ipro .item a.img { width: 100% !important; height: auto !important; aspect-ratio: 1.31; }
  .ipro .item a.txt { height: auto !important; min-height: 44px; line-height: 1.4 !important; padding: 10px 6px; box-sizing: border-box; }
  .ipro .item h3 { font-size: 14px; }
  .boxtext img, .zhengwen img, .details img, .boxtext video, .zhengwen video, .details video { max-width: 100% !important; height: auto !important; }
  .boxtext table, .zhengwen table, .details table { display: block; max-width: 100%; overflow-x: auto; }
}

@media (max-width: 560px) {
  .wrap { margin-left: 12px; margin-right: 12px; }
  .topline { display: none; }
  .header_top .wrap { margin: 0 12px; }
  .header_top .logo { height: 42px; }
  .mobile-menu-toggle { top: 9px; }
  .menu-open .header_nav { top: 58px; }
  .in_title { padding-top: 25px; }
  .in_title h2 { font-size: 22px; }
  .in_product .bd ul li, .product_list ul li { width: calc(100% - 12px); }
  .ipro .item { width: 100% !important; }
  .station-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .station-card { min-height: 62px; }
  .pagebar { padding: 20px 0 !important; }
  .pagebar .pagination { flex-wrap: wrap; gap: 6px; }
  .pagebar .pagination a, .pagebar .pagination span { min-width: 34px; height: 34px; padding: 0 10px !important; font-size: 13px; }
  .pagebar > .pagination > ul.pagination { flex-wrap: wrap; gap: 6px; }
  .pagebar > .pagination > ul.pagination > li > a { min-width: 34px; height: 34px; padding: 0 10px !important; font-size: 13px; }
  a.more { margin: 8px auto 0; }
  .newscontent h1 { font-size: 22px; line-height: 1.45; }
  .fy { line-height: 2; }
}
/* 主站底部地图快捷入口：保证在图片背景上始终清晰可见 */
.main-footer-maps{display:flex;align-items:center;gap:12px;padding-top:28px}.main-footer-maps strong{margin-right:4px;color:#fff;font-size:15px}.main-footer-maps a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 15px;border:1px solid #fff;border-radius:4px;background:#fff;color:#145aa7;font-size:13px;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,.16);transition:.2s}.main-footer-maps a i{color:#1260b7;font-size:19px;font-style:normal;line-height:1}.main-footer-maps a span{margin-left:3px;color:#1260b7;font-size:16px}.main-footer-maps a:hover{border-color:#0d65bd;background:#0d65bd;color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.22);transform:translateY(-2px)}.main-footer-maps a:hover i,.main-footer-maps a:hover span{color:#fff}.main-footer-record{padding-top:16px}@media(max-width:960px){.main-footer-maps{flex-wrap:wrap;gap:8px;padding-top:22px}.main-footer-maps strong{width:100%}.main-footer-maps a{flex:1;justify-content:center;min-width:0;padding:0 9px}}
