/* ===== 基础元素与重置 ===== */

a, body, button, dd, dl, dt, h1, h2, h3, h4, h5, i, img, input, li, p, select, span, strong, textarea, ul {
  margin: 0;
  padding: 0;
}

b, h1, h2, h3, h4, h5, h6, strong {
  font-weight: 400;
}

table { border-spacing: 0; }

body {
  font-family: "microsoft yahei", Arial, sans-serif;
  font-size: 0.26rem;
  line-height: 1;
  color: #333;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

html, body { width: 100%; height: 100%; }

/* 两侧留黑色背景（PC 大屏兜底） */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
}

::-webkit-scrollbar { width: 0; height: 0; }

*{
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* PATCH: 取消全局 li 浮动，避免污染 Swiper 等组件 */
li { list-style-type: none; float: none; }

a { text-decoration: none; color: #333; outline: 0; }

img { border: none; vertical-align: middle; }

em, i, var { font-style: normal; }

button {
  font-family: "microsoft yahei", Arial, sans-serif;
  outline: 0;
  cursor: pointer;
  font-size: 0.26rem;
  border: none;
  background: transparent;
}

iframe { border: none; }

input, select, textarea {
  outline: 0;
  font-family: "microsoft yahei", Arial, sans-serif;
  font-size: 0.26rem;
  border-radius: 0;
  border: none;
  background: transparent;
}

input:disabled { opacity: 1; color: #333; }

button,
input[type="button"],
input[type="date"],
input[type="number"],
input[type="password"],
input[type="reset"],
input[type="submit"],
input[type="text"],
textarea{
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background: transparent;
}

textarea { resize: none; }

/* ===== 通用工具类 ===== */

.ico{ display:inline-block; vertical-align:middle; }
.fl{ float:left; }
.fr{ float:right; }
.clear{ clear:both; }

.clearfix:after{
  content:"";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}
.clearfix{ zoom:1; }

.hide{ display:none !important; }
.move-touch{ -webkit-overflow-scrolling:touch; }

.mohu{
  -webkit-filter:blur(1px);
  -moz-filter:blur(1px);
  filter:blur(1px);
}

.vague{
  -webkit-filter:blur(2px);
  filter:blur(2px);
  -webkit-transition:.3s;
  transition:.3s;
}
.rogate{ -webkit-transition:.3s; transition:.3s; }
.rogate:hover{ 
  -webkit-transform:rotate(90deg);
  transform:rotate(90deg); 
}

.flex-slide{
  display:-webkit-box;
  display:-webkit-flex;
  display:flex;
  overflow-y:auto; 
  -webkit-overflow-scrolling:touch;
}
.flex-slide>*{ 
  -webkit-flex-shrink:0;
  flex-shrink:0; 
}

.box-space-between{
  display:-webkit-box;
  display:-webkit-flex;
  display:flex;
  -webkit-box-pack:justify;
  -webkit-justify-content:space-between;
  justify-content:space-between;
}
.box-space-between>*{ 
  -webkit-flex-shrink:0;
  flex-shrink:0; 
}

.column{
  display:-webkit-box;
  display:-webkit-flex;
  display:flex;
}
.column>*{
  -webkit-column-count:1;
  column-count:1;
  -webkit-box-flex:1;
  -webkit-flex-grow:1;
  flex-grow:1;
  -webkit-flex-shrink:0;
  flex-shrink:0;
  text-align:center;
}

/* ===== 箭头与边框发丝线 ===== */

.arrow{ position:relative; line-height:1; margin-left:.1rem; }
.arrow:before{
  content:""; position:absolute; top:-.02rem; left:0; width:0; height:0;
  border-bottom:.08rem solid; border-right:.08rem solid transparent; border-top:.08rem solid transparent; border-left:.08rem solid transparent;
}
.arrow:after{
  content:""; position:absolute; top:.18rem; left:0; width:0; height:0;
  border-top:.08rem solid; border-right:.08rem solid transparent; border-bottom:.08rem solid transparent; border-left:.08rem solid transparent;
}
.arrow.one:before{ display:none; }
.arrow.one:after{ top:.14rem; }

.border-top:before{
  background:#dadada; content:""; position:absolute; height:1px; 
  -webkit-transform-origin:0 0;
  transform-origin:0 0;
  -webkit-transform:scale(.5,.5); 
  transform:scale(.5,.5);
  width:200%; top:0; left:0;
}
.border-bottom:after{
  background:#dadada; content:""; position:absolute; height:1px; 
  -webkit-transform-origin:0 0;
  transform-origin:0 0;
  -webkit-transform:scale(.5,.5); 
  transform:scale(.5,.5);
  width:200%; bottom:-1px; left:0;
}

/* ===== 触摸开关样式 ===== */

.touch-state{ position:relative; }
.touch-state label{
  position:relative; background:#fff; display:block;
  width:.9rem; height:.45rem; border:1px solid #ccc; border-radius:.3rem; 
  -webkit-transition:.3s;
  transition:.3s;
}
.touch-state label:after{
  content:""; position:absolute; z-index:1; left:0; width:.41rem; height:.41rem; background:#fff;
  box-shadow:0 0 .1rem rgba(0,0,0,.4); border-radius:50%; 
  -webkit-transition:.3s;
  transition:.3s;
}
.touch-state input{
  position:absolute; z-index:0; opacity:0; left:45%; top:20%;
}
.touch-state input:checked+label{ background:#47b92c; border-color:#47b92c; }
.touch-state input:checked+label:after{ left:calc(100% - .41rem); }

/* ===== Swiper 相关 ===== */

.swiper-wrapper{
  display:-webkit-box;
  display:-webkit-flex;
  display:flex;
  position:relative;
}
/* PATCH: 保证 Swiper 子项不被任何浮动影响 */
.swiper-wrapper > li, .swiper-slide{ float:none; }

.swiper-slide{ 
  -webkit-flex-shrink:0;
  flex-shrink:0; 
  position:relative; 
}

/* ===== 布局骨架 ===== */

.mobile-wrap{
  position:relative;
  min-height:100vh;
  width:100%;
  float:none;
  background:url(../img/b91267_750x3640.webp) top center no-repeat;
  background-size:cover;
  padding-bottom:1.82rem;
  padding-top:1.14rem;
  max-width:750px;
  min-width:320px;
  margin-left:auto;
  margin-right:auto;
  box-shadow:0 0 16px rgba(0,0,0,.03);
}

/* 只对 .center 保留黑色背景（避免覆盖背景图） */
.center{
  width:100%;
  max-width:750px;
  min-width:320px;
  margin-left:auto;
  margin-right:auto;
  background-color:#000;
  box-shadow:0 0 16px rgba(0,0,0,.03);
  position:relative;
}

/* 当同一元素同时有 .mobile-wrap 和 .center 时，强制使用背景图 */
.mobile-wrap.center{
  background-image: url(../img/b91267_750x3640.webp) !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.fixed-top{
  position:fixed; left:0; width:100%; top:0; z-index:2; background:#fff;
}
.fixed-bottom{
  position:fixed; bottom:0; left:0; width:100%; z-index:2; background:#fff;
}

/* ===== 顶部条 ===== */

.tops{
  width:100%;
  height:1.14rem;
  display:-webkit-box;
  display:-webkit-flex;
  display:flex;
  -webkit-box-pack:justify;
  -webkit-justify-content:space-between;
  justify-content:space-between;
  -webkit-box-align:center;
  -webkit-align-items:center;
  align-items:center;
  padding:0 .22rem;
  position:absolute;
  left:50%;
  margin-left:-3.75rem;
  z-index:999;
  top:0;
  background-color:#000;
}
.tops img{ width:100%; }

.tops .txts{ 
  height:1.04rem; 
  display:-webkit-box;
  display:-webkit-flex;
  display:flex; 
  -webkit-box-pack:center;
  -webkit-justify-content:center;
  justify-content:center; 
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -webkit-flex-direction:column;
  flex-direction:column; 
}
.tops .txts p{ line-height:.36rem; font-size:.26rem; color:#f6de5c; }
.tops .txts p em{ display:inline-block; width:.72rem; text-align:center; color:#f4390d; }

/* ===== Banner ===== */

.banner{ width:100%; text-align:center; padding-top:.2rem !important; }
.banner ul{ width:100%; }
.banner ul li{ width:100%; }
.banner .swiper-pagination{ bottom:.5rem !important; }
.banner .swiper-pagination .swiper-pagination-bullet{
  width:.14rem; height:.14rem; margin:0 .09rem; opacity:1; background-color:#fde698;
}
.banner .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
  background-color:#e63912;
}
.banner img{ width:100%; }

/* ===== 中部推广位 ===== */

.intrs{ 
  width:100%; 
  position:relative; 
  margin-top:.3rem; 
  float:left; 
  text-align:center; 
}
.intrs img{ width:100%; }
.intrs a {
  position: relative;
  display: block;
}
.intrs .cta-overlay{
  width:4.58rem; 
  height:1.28rem;
  background:url(../img/a7b49c_458x128.gif) center no-repeat;
  background-size:4.58rem 1.28rem;
  position:absolute; 
  left:50%; 
  margin-left:-2.29rem; 
  bottom:.5rem;
  -webkit-animation:myfirst 1s infinite; 
  animation:myfirst 1s infinite;
  pointer-events: none;
}

/* ===== 游戏滚动 ===== */

.game{ width:100%; float:left; }
.game .title{ width:100%; text-align:center; padding-top:0; }
.game .title img{ width:5.9rem; }

.game .conts{ width:100%; padding-top:.2rem; float:left; }
.game .conts .list{ width:100%; margin:.06rem 0; float:left; }
.game .conts .list ul{ width:100%; transition-timing-function:linear; }
.game .conts .list ul li{ width:1.58rem; margin-right:.28rem; }
.game .conts .list ul li img{ width:100%; height:1.58rem; }
.game .conts .list ul li p{
  line-height:.5rem; text-align:center; font-size:.24rem; color:#222;
}
.game .conts .list:last-child{ padding-left:.04rem; }

/* ===== 线路列表区 ===== */

.lines{ width:100%; border-top:1px solid #615542; margin-top:.22rem; float:left; }
.lines .conts{ width:100%; }
.lines .conts .title{ width:100%; text-align:center; padding-top:.14rem; }
.lines .conts .title img{ width:6.62rem; }
.lines .conts .list{ width:100%; padding:0 .48rem; padding-top:.1rem; }
.lines .conts .list .item{
  width:100%; 
  height:.56rem; 
  margin:.12rem 0; 
  float:left;
  background:url(../img/d4cbbe_658x56.webp) center no-repeat;
  background-size:6.58rem .56rem;
}
/* 行级可点击提示 */
.lines .item[data-group]{ 
  cursor:pointer; 
  -webkit-tap-highlight-color:transparent; 
  -webkit-transition: filter .2s;
  transition: filter .2s;
}
.lines .item[data-group]:hover{ 
  -webkit-filter:brightness(1.03);
  filter:brightness(1.03); 
}

.lines .conts .list .item .ms{
  width:1.26rem; height:.56rem; line-height:.56rem; text-align:center;
  font-size:.28rem; font-weight:700; color:#b37030;
}
.lines .conts .list .item .text{ width:calc(100% - 1.26rem); }
.lines .conts .list .item .text .btns{
  width:1.4rem; 
  height:.56rem; 
  display:-webkit-box;
  display:-webkit-flex;
  display:flex; 
  -webkit-box-pack:center;
  -webkit-justify-content:center;
  justify-content:center; 
  -webkit-box-align:center;
  -webkit-align-items:center;
  align-items:center; 
  padding-right:.02rem;
}
.lines .conts .list .item .text .btns a{
  display:inline-block; width:1.29rem; height:.42rem;
  background:url(../img/daed7e_129x42.webp) center no-repeat;
  background-size:1.29rem .42rem;
}
.lines .conts .list .item .text .txts{
  width:calc(100% - 1.4rem); height:.56rem; text-align:center; line-height:.56rem; font-size:.28rem; color:#fff;
}

/* ===== 推荐模块 ===== */

.type{ width:100%; padding-top:.16rem; float:left; }
.type img{ width:100%; }

.recomment{ width:100%; }
.recomment .title{ width:100%; text-align:center; padding-top:.32rem; float:left; }
.recomment .title img{ width:6.62rem; }
.recomment .conts{ width:100%; padding-left:.1rem; padding-top:.44rem; float:left; }
.recomment .conts .list{ width:100%; }
.recomment .conts .list ul{ width:100%; }
.recomment .conts .list ul li{ width:2.48rem; }
.recomment .conts .list ul li img{ width:100%; }

/* ===== 服务与悬浮按钮 ===== */

.service{ width:100%; padding-top:.44rem; float:left; }
.service img{ width:100%; }

.fix-down{
  width:7.5rem;
  position:fixed; left:50%; margin-left:-3.75rem;
  z-index:99; bottom:0;
}
.fix-down img{ width:100%; margin-bottom:-1px; }
.fix-down .cta-overlay{
  width:2.24rem; height:.7rem;
  background:url(../img/a199ce_224x70.gif) center no-repeat;
  background-size:2.24rem .7rem;
  position:absolute; right:.2rem; top:50%; margin-top:-.35rem;
  -webkit-animation:myfirst 1s infinite; animation:myfirst 1s infinite;
  pointer-events: none;
}
.fix-down.tops{ bottom:initial; top:0; }

.fix-service{
  position:fixed; right:50%; margin-right:-3.75rem; top:50%; margin-top:-.96rem; z-index:88;
}
.fix-service img{ width:1.24rem; }

/* ===== 关键帧动画 ===== */

@-webkit-keyframes myfirst{
  from{ -webkit-transform:scale(1); }
  50% { -webkit-transform:scale(.9); }
  to  { -webkit-transform:scale(1); }
}
@keyframes myfirst{
  from{ transform:scale(1); }
  50% { transform:scale(.9); }
  to  { transform:scale(1); }
}

/* ===== PC 限宽与对齐（与 rem.js 的 MAX 一致） ===== */
@media (min-width: 768px){
  :root{ --page-w: 7.5rem; }
  .mobile-wrap, .center{ max-width: var(--page-w); margin: 0 auto; }

  /* 固定底栏贴容器居中 */
  .fix-down{
    left:50%; 
    -webkit-transform:translateX(-50%);
    transform:translateX(-50%);
    width: var(--page-w); 
    margin-left:0;
  }
  /* 浮动客服贴容器右侧 */
  .fix-service{ 
    right: calc(50% - var(--page-w)/2 - .08rem); 
    margin-right:0; 
  }
}

/* ===== 弹窗样式 ===== */

.line-popup-mask{
  position: fixed;
  top: 0; 
  right: 0; 
  bottom: 0; 
  left: 0;
  z-index: 999999;

  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align:center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack:center;
  -webkit-justify-content: center;
  justify-content: center;

  background: rgba(20,30,30,.32);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  -webkit-transition: opacity .18s ease;
  transition: opacity .18s ease;
}
.line-popup-mask.active{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.line-popup {
  background: #fff;
  border-radius: 18px;
  width: 96vw;
  max-width: 470px;
  box-shadow: 0 6px 28px rgba(44, 89, 56, 0.14);
  position: relative;
  padding: 26px 0 16px;
}

.line-popup-title {
  font-size: 22px;
  color: #13b760;
  text-align: center;
  font-weight: 700;
  margin: 0 0 16px;
}

.line-popup-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 0 18px 8px;
}

.line-popup-list .line-popup-item {
  margin-top: 12px;
}
.line-popup-list .line-popup-item:first-child {
  margin-top: 0;
}

.line-popup-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align:center;
  -webkit-align-items: center;
  align-items: center;
  background: #f9fdfc;
  border-radius: 10px;
  border: 1.2px solid #b2efd3;
  padding: 10px 12px;
  text-decoration: none;
  -webkit-transition: background .2s;
  transition: background .2s;
}
.line-popup-item:hover { 
  background: #eaffef; 
}

.lp-left { 
  width: 28px; 
  height: 28px; 
  -webkit-flex: 0 0 28px;
  flex: 0 0 28px; 
  display: -webkit-box;
  display: -webkit-flex;
  display: flex; 
  -webkit-box-align:center;
  -webkit-align-items: center;
  align-items: center; 
  -webkit-box-pack:center;
  -webkit-justify-content: center;
  justify-content: center; 
  margin-right: 10px;
}
.lp-left img { 
  width: 100%; 
  height: 100%; 
  -o-object-fit: contain;
  object-fit: contain; 
}

.lp-center { 
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1; 
  text-align: center; 
  color: #1b814a; 
  font-size: 18px; 
  font-weight: 600; 
  letter-spacing: 0.3px; 
}

.lp-right { 
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto; 
  margin-left: 10px;
}

.lp-btn { 
  display: inline-block; 
  background: #10bb5f; 
  color: #fff; 
  border-radius: 18px; 
  font-size: 15.5px; 
  font-weight: 700; 
  padding: 6px 16px; 
  letter-spacing: 0.5px; 
}

.line-popup-close {
  position: absolute; 
  right: 14px; 
  top: 10px; 
  font-size: 30px; 
  line-height: 1; 
  color: #14b063; 
  cursor: pointer; 
  font-weight: 700; 
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: color .2s;
  transition: color .2s;
}
.line-popup-close:hover { 
  color: #be2c2c; 
}

@media (max-width: 520px) {
  .line-popup { 
    width: 99vw; 
    padding: 18px 0 12px; 
  }
  .line-popup-list { 
    padding: 0 8px 8px; 
  }
  .lp-center { 
    font-size: 17px; 
  }
  .lp-btn { 
    font-size: 15px; 
  }
}

html.noscroll,
html.noscroll body { 
  overflow: hidden; 
}
.service {
  clear: both;
  width: 100%;
  padding-top: 0.36rem;
  text-align: center;
  box-sizing: border-box;
  overflow: hidden;
}

.service img {
  display: block;
  width: 92% !important;
  max-width: 700px;
  height: auto;
  margin: 0 auto;
  border-radius: 12px;
}