:root {
  --header-h: 0.9rem;
}

.main {
  overflow: hidden;
  padding-top: var(--header-h);
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  height: var(--header-h);
}

.header * {
  transition: all 0.4s;
}

.header .search-container {
  position: absolute;
  top: var(--header-h);
  left: 0;
  width: 100%;
  height: 2rem;
  background: #fff;
  display: none;
  transition: none;
  font-size: 0.2rem;
}

.header .search-container .flex {
  border-bottom: 1px solid #5a5a5a;
  justify-content: space-between;
  padding: 0.2rem 0;
  width: 75%;
  font-family: "SourceHanSansCN-Regular";
  margin: 0.5rem auto 0;
}

.header .search-container input {
  width: calc(100% - 50px);
  height: 0.5rem;
  background-color: rgb(255, 255, 255);
  padding: 0.2rem 0.1rem;
}

.nav {
  display: flex;
}

.nav .nav-group {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-right: 0.5rem;
}

.nav .nav-group>a {
  font-size: 0.18rem;
  display: flex;
  align-items: center;
}

.arrow-menu {
  display: inline-block;
  margin-left: 0.1rem;
  width: 0;
  height: 0;
  border-left: 0.06rem solid transparent;
  /* 左边透明 */
  border-right: 0.06rem solid transparent;
  /* 右边透明 */
  border-top: 0.06rem solid #333;
  /* 上边实心 */
  transition: transform 0.3s ease;
  border-radius: 1px;
}

.down-menu {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0.85rem;
  left: 50%;
  min-width: 1.8rem;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  background-color: #fff;
  /* padding: .06rem 0; */
  text-align: center;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  border-radius: 0.08rem;
}

.down-menu a {
  font-size: 0.18rem;
  display: block;
  padding: 0.1rem 0.2rem;
  white-space: nowrap;
}

.down-menu:before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 0;
  height: 0px;
  margin-left: -6px;
  border-style: solid;
  border-width: 6px;
  border-color: #fff #fff transparent transparent;
  transform: rotate(-45deg);
  box-shadow: 2px -2px 2px rgba(100, 100, 100, 0.1);
}

@media (hover: hover) {
  .nav .nav-group:hover>a {
    color: #ce202f;
  }

  .drop .down-menu a:hover {
    background-color: rgba(0, 0, 0, 0.08);
    color: var(--color1);
    letter-spacing: 0.01rem;
  }

  .drop:hover .down-menu {
    transform: translateX(-50%);
    opacity: 1;
    visibility: visible;
    top: 0.8rem;
  }

  .drop:hover .down-menu {
    top: 0.74rem;
  }

  .drop .down-menu a:hover {
    color: #ce202f;
  }

  .drop:hover .arrow-menu {
    transform: rotate(180deg);
    border-top-color: #CE202F;
  }
}

.header .pre {
  font-size: 0.18rem;
  padding: 0.1rem 0.34rem;
  background: #ce202f;
  border-radius: 50px;
  color: #fff;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

/* 操作区域 */
.header .action .item {
  display: flex;
  align-items: center;
  padding: 0 0.2rem;
  position: relative;
  cursor: pointer;
  font-size: 0.18rem;
}

.header .action .item svg {
  width: 0.2rem;
}

.header .action .item::after {
  content: "";
  width: 1px;
  height: 0.2rem;
  background: #222;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.header .action .item:last-child::after {
  display: none;
}

.header .action .item svg {
  margin-right: 0.1rem;
}

@media (hover: hover) {

  .header .action .item.search:hover path,
  .header .action .item.language:hover path,
  .header .action .item.login:hover path {
    fill: #ce202f;
  }

  .header .action .item:hover .text {
    color: #ce202f;
  }
}

/* banner */
.banner .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
}

.banner .text .line {
  width: auto;
  height: 0.07rem;
  background: url(../assets/img/banner-icon1.png) no-repeat;
  background-size: cover;
  margin: 0.23rem 0;
}

.move {
  margin-top: 0.52rem;
  font-size: 0.18rem;
  padding: 0.1rem 0.35rem;
  border: 2px solid #fff;
  border-radius: 50px;
  transition: all 0.4s ease;
  position: relative;
  color: #fff;
  overflow: hidden;
  z-index: 1;
  display: inline-block;
}

/* 炫酷 hover 效果 */
.move::before,
.vip-pic-item .name::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, #ce202f, #ff416c, #ff4b2b);
  transition: all 0.4s ease;
  z-index: -1;
}

.move:hover::before,
.vip-pic-item:hover .name::before {
  left: 0;
}

.move:hover,
.vip-pic-item:hover .name {
  color: #fff;
  border-color: transparent;
  /* transform: scale(1.05); */
  box-shadow: 0 8px 20px rgba(206, 32, 47, 0.5);
}

.banner .swiper-horizontal>.swiper-pagination-bullets,
.banner .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0.8rem;
}

.banner .swiper-pagination-bullet {
  background: #fff;
}

/* 英文名灯牌 */
.light-container {
  width: 100%;
  height: 0.65rem;
}

.title-light {
  background: #bfbfbf;
  width: 102%;
  height: 2.3rem;
  padding: 0.23rem 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: rotate(-2deg);
  position: relative;
  z-index: 2;
  margin-left: -0.1rem;
  top: -0.35rem;
}

.title-light .light-line {
  width: 100%;
  height: 0.2rem;
  background: url(../assets//img/title-light-1.png) repeat-x;
  background-size: auto 100%;
  animation: scrollLeft 12s linear infinite;
}

.title-light .title {
  width: 100%;
  height: 0.65rem;
  background: url(../assets//img/title-light-2.png) repeat-x;
  background-size: auto 100%;
  animation: scrollRight 15s linear infinite;
}

/* 滚动动画 */
@keyframes scrollLeft {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -100% 0;
  }
}

@keyframes scrollRight {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 100% 0;
  }
}

/* 星级会员 */
.vip-container {
  width: 100%;
  height: 13.74rem;
  position: relative;
  overflow: hidden;
  background: #333;
  padding-top: 2rem;
  z-index: 1;
}

.vip-container .vip-bg {
  width: 0%;
  height: 0%;
  background: url(../assets/img/vip-bg-1.png) no-repeat;
  background-size: 100vw 13.74rem;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: center;
  animation: expandFromCenter 1.2s linear forwards;
  animation-play-state: paused;
  z-index: -1;
}

/* 当进入可视范围时播放动画 */
.vip-container.in-view .vip-bg {
  animation-play-state: running;
}

/* 重新设计的从中心向四周扩散动画 */
@keyframes expandFromCenter {
  0% {
    width: 0;
    height: 0;
  }

  100% {
    height: 100%;
    width: 100%;
  }
}

.vip-container .vip-decoration1 {
  width: 3.49rem;
  height: 3.49rem;
  background: url(../assets/img/vip-bg-2.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0.35rem;
  left: calc(-3.49rem / 2);
  z-index: -1;
}

.vip-container .vip-decoration2 {
  width: 3.67rem;
  height: 3.67rem;
  background: url(../assets/img/vip-bg-3.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0.35rem;
  right: calc(-3.67rem / 2);
  z-index: -1;
}

.vip-container .sub-title {
  font-size: 0.6rem;
  text-align: center;
  margin-top: 0.4rem;
  color: white;
}

.vip-container .vip-pic-list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 2rem;
}

.vip-container .vip-pic-list * {
  transition: all 0.3s;
}

.vip-container .vip-pic-list .vip-pic-item .pic {
  position: relative;
  width: 4.94rem;
  height: 4.9rem;
  background: url(../assets/img/vip-pic-bg.png) no-repeat;
  background-size: cover;
}

.vip-container .vip-pic-list .vip-pic-item .pic::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  background: #ce202f;
  position: absolute;
  bottom: 0;
  left: 0;
}

.vip-pic-item .name::before {
  background: #CE202F;
}

.vip-container .vip-pic-list .vip-pic-item .pic img {
  width: 4.26rem;
  height: 4.26rem;
  position: absolute;
  bottom: 0.19rem;
  left: 50%;
  transform: translateX(-50%);
}

.vip-container .vip-pic-list .vip-pic-item .name {
  padding: 0.28rem 0.26rem;
  border: 1px solid #c6c6c6;
  border-right-width: 0;
  border-top-width: 0;
  border-radius: 10px;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-top: 2px;
  position: relative;
  overflow: hidden;
}

@media (hover: hover) {
  .vip-container .vip-pic-list .vip-pic-item:hover .pic img {
    transform: translateX(-50%) scale(1.05);
    transform-origin: bottom center;
  }
}

.vip-container .vip-info {
  background: #111111;
  width: 13.28rem;
  padding: 0.28rem 0;
  margin: 1.34rem auto 0;
  color: #fff;
  justify-content: center;
  gap: 0.6rem;
}

.vip-container .vip-info .vip-info-bg {
  width: 0.9rem;
  height: 1.08rem;
  background: url(../assets/img/index-icon4.png) no-repeat;
  background-size: cover;
}

.vip-container .vip-info .level-des {
  font-size: 0.16rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 0.32rem;
}

.vip-container .vip-info>div:nth-child(2) {
  width: 3.6rem;
}

.vip-container .vip-info .level-des .icon {
  width: 0.18rem;
  height: 0.18rem;
  margin-right: 0.12rem;
}

/* 台球预定 */
.reservation-container {
  background: #fff;
}

.reservation-container .clip {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 1.2rem 0;
}

.reservation-container .panle {
  display: flex;
  flex-direction: row;
}

.reservation-container .panle .panle-left {
  width: calc(820 / 1920 * 100%);
  padding-left: 2.9rem;
}

.reservation-container .panle .panle-right {
  width: calc(1100 / 1920 * 100%);
}

.reservation-container .panle .panle-right .swiper-button-conatiner {
  position: absolute;
  bottom: -0.2rem;
  left: 5.28rem;
  z-index: 2;
  display: flex;
}

.reservation-container .panle .panle-right .swiper-button-conatiner.reservation-swiper-button2 {
  bottom: 3rem;
}

.reservation-container .reservation-banner2 {
  margin-bottom: 0.8rem;
}

.reservation-container .panle .panle-right .swiper-slide {
  width: 6.62rem;
}

.reservation-container .panle .area-list {
  font-size: 0.24rem;
  color: rgba(17, 17, 17, 0.4);
  display: flex;
  flex-direction: column;
  gap: 0.28rem 0;
}

.reservation-container .panle .area-list div {
  position: relative;
  padding-left: 0.24rem;
  border-radius: 6px;
  transition: background-color 0.3s ease;
}

.reservation-container .panle .area-list div span {
  cursor: pointer;
  display: inline-block;
  position: relative;
  transition: color 0.3s ease, transform 0.3s ease, letter-spacing 0.3s ease;
}

.reservation-container .panle .area-list div span::after {
  content: "";
  position: absolute;
  bottom: -0.1rem;
  left: 0;
  width: 0%;
  height: 0.04rem;
  background-color: #e50012;
  transition: width 0.3s ease;
}

.reservation-container .panle .area-list div:hover span,
.reservation-container .panle .area-list div.active span {
  color: #111111;
  letter-spacing: 0.01rem;
  transform: translateX(2px);
}

.reservation-container .panle .area-list div:hover span::after,
.reservation-container .panle .area-list div.active span::after {
  width: 100%;
}

/* 地址文案区 */
.reservation-container .panle .panle-right .address-contianer {
  padding: 0.32rem 0.07rem;
}

.decoration1 {
  width: 3.3rem;
  height: 3.3rem;
  background: url(../assets/img/vip-bg-3.png) no-repeat;
  background-size: cover;
  opacity: 0.2 !important;
  position: absolute;
  top: -1.3rem;
  left: -2rem;
  z-index: -1;
}

.decoration2 {
  width: 3.3rem;
  height: 3.3rem;
  background: url(../assets/img/vip-bg-2-1.png) no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -1rem;
  left: -1.5rem;
  z-index: -1;
}

.decoration3 {
  width: 3.3rem;
  height: 3.3rem;
  background: url(../assets/img/vip-bg-2-1.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 4rem;
  right: 4rem;
  z-index: -1;
}

.decoration4 {
  width: 3.3rem;
  height: 3.3rem;
  background: url(../assets/img/vip-bg-4.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 4rem;
  right: 4rem;
}

.decoration5 {
  width: 3.18rem;
  height: 3.18rem;
  background: url(../assets/img/decoration5.png) no-repeat;
  background-size: cover;
  position: absolute;
}

.decoration6 {
  width: 2.68rem;
  height: 2.68rem;
  background: url(../assets/img/decoration6.png) no-repeat;
  background-size: cover;
  position: absolute;
}

/* 教练团队 */
.fluid-container .panle {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  height: 8.26rem;
}

.fluid-container .panle .panle-left {
  width: calc(650 / 1920 * 100%);
  position: relative;
  z-index: 2;
}

.fluid-container .panle .panle-left img {
  width: 9.9rem;
  max-width: none;
  clip-path: polygon(0 0, 70% 0, 100% 100%, 0 100%);
  object-fit: cover;
}

.fluid-container .panle .panle-right {
  width: calc(1270 / 1920 * 100%);
  background: #333333;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-left: 2rem;
  position: relative;
  z-index: 1;
}

.fluid-container .panle .panle-right .decoration1 {
  top: 0.6rem;
  left: auto;
  right: -2rem;
}

.fluid-container .panle .panle-right .decoration5 {
  top: 3.69rem;
  right: -1.24rem;
}

.fluid-container .panle .panle-right .decoration6 {
  bottom: -1rem;
  left: 4rem;
}


.fluid-container .panle .panle-right-content {
  width: 4rem;
  color: #fff;
}

.fluid-container .light-container {
  position: absolute;
  top: 3rem;
  left: -1rem;
  transform: rotate(70deg) scale(0.8);
  z-index: 2;
}

.custom-upload-btn {
  width: 100%;
  height: 100%;
  cursor: pointer;
  font-size: 0.18rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  color: rgba(255, 255, 255, 0.6);
}

/* 赛事中心 */
.competition-container {
  padding: 1.4rem 0;
  background: #f5f6f7;
}

.competition-container .panle-left {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ce202f;
  width: 9.48rem;
  height: 6.15rem;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 80% 100%, 0 100%);
  margin-top: 0.8rem;
}

.competition-container .panle .panle-left-content {
  color: #fff;
  width: 4rem;
}

.competition-container .panle-right {
  position: absolute;
  top: 1.42rem;
  right: 0;
  width: calc(1080 / 1920 * 100%);
}

.competition-container .panle .swiper-slide {
  width: 9.02rem;
  overflow: hidden;
}

.competition-container .panle .des {
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.5rem;
  width: 100%;
  background: linear-gradient(180deg, transparent, #000 86.87%);
}

.competition-container .panle .des .tag {
  background: rgba(255, 255, 255, 0.4);
  display: inline-block;
  padding: 0.02rem 0.17rem;
  font-size: 0.16rem;
}

.competition-container .panle .panle-right .swiper-button-conatiner {
  position: absolute;
  bottom: -1rem;
  left: 1.2rem;
  z-index: 2;
  display: flex;
}

.swiper-button-conatiner .button::after {
  display: none;
}

.swiper-button-conatiner .button {
  width: 0.75rem;
  height: 0.75rem;
  background: #ce202f;
  margin-top: 0;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.swiper-button-conatiner .button::before {
  background: linear-gradient(110deg, #ce202f 26.94%, #091f40 112.28%);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(20%);
  transition: all .25s ease;
  z-index: -1;
}

.swiper-button-conatiner .button:hover::before {
  opacity: 1;
  transform: translate(0, 0);
}

.swiper-button-conatiner .button.swiper-button-disabled {
  opacity: 1;
  background: rgba(164, 164, 164, 1);
}

.swiper-button-conatiner .button.swiper-button-disabled::before {
  display: none;
}

.swiper-button-conatiner .button svg {
  width: 0.26rem;
  height: 0.29rem;
}

.swiper-button-conatiner .button.swiper-button-prev {
  transform: rotateZ(180deg);
}

.swiper-button-conatiner.no-bg .button.swiper-button-disabled {
  opacity: 0.6;
}

.swiper-button-conatiner.no-bg .button {
  background: transparent !important;
}

.swiper-button-conatiner.no-bg .button::before {
  display: none;
}

.scale-hover .scale-element {
  transition: all 0.3s;
}

.scale-hover:hover .scale-element {
  transform: scale(1.1);
}

/* 社会慈善 */
.charity-container {
  padding: 1.2rem 0 2rem;
  position: relative;
}

.charity-container .swiper-slide {
  width: 3.88rem;
  height: 3.4rem;
}

.charity-container .swiper-slide .scale-hover {
  width: 100%;
  height: 2.8rem;
  overflow: hidden;
  display: block;
}

.charity-container .swiper-slide:nth-child(2n) {
  padding-top: 0.6rem;
}

.charity-container .des {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: #fff;
  padding: 0.1rem 0.24rem;
  z-index: 1;
}

.charity-container .des::after {
  background: linear-gradient(180deg, transparent, #000 86.87%);
  bottom: -2px;
  content: "";
  height: 64.7482014388%;
  left: 0;
  position: absolute;
  right: 0;
  transform-origin: 50% 100%;
  transition: transform 0.4s ease;
  z-index: -1;
}

.charity-container .des .tag {
  display: inline-block;
  background: rgba(206, 32, 47, 0.56);
  padding: 0.02rem 0.17rem;
  font-size: 0.16rem;
}

.charity-container::after {
  content: "";
  width: 100%;
  height: 4.57rem;
  background: #323232;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.charity-container .swiper-aciton {
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: flex;
  align-items: center;
}

.charity-container .charity-swiper-button {
  display: flex;
}

.charity-swiper-pagination.swiper-pagination-progressbar {
  background: rgba(255, 255, 255, 0.2);
  /* 灰色背景 */
  height: 4px;
  border-radius: 2px;
  position: static;
  width: 11.17rem;
}

.charity-swiper-pagination .swiper-pagination-progressbar-fill {
  background: #e63946;
  /* 红色进度条 */
  border-radius: 2px;
}

/* 图集列表 */
.pic-arr-container {
  background: #333;
  background-image: url(../assets/img/vip-bg-1.png);
  background-size: cover;
  padding-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  overflow: hidden;
}

.pic-arr-group {
  display: flex;
  width: max-content;
  flex-wrap: nowrap;
  will-change: transform;
}

.pic-arr-item {
  width: 2.6rem;
}

/* 合作伙伴 */
.partner-container {
  padding: 1.2rem 0;
  text-align: center;
  overflow: hidden;
}

.partner-container .decoration1 {
  top: -1rem;
  left: auto;
  right: -1.3rem;
}

.partner-container .decoration2 {
  top: 1.8rem;
  right: 0.5rem;
  left: auto;
  width: 2.4rem;
  height: 2.4rem;
}

.partner-container .decoration3 {
  bottom: -1rem;
  top: auto;
  left: -1rem;
}

.partner-group {
  padding-top: 0.4rem;
  padding-bottom: 0.3rem;
  position: relative;
}

.partner-group::after {
  content: "";
  width: 12rem;
  height: 1px;
  background: #ce202f;
  position: absolute;
  bottom: 0rem;
  left: 50%;
  transform: translateX(-50%);
}

.partner-group:last-child::after {
  display: none;
}

/* 底部 */
.footer-container {
  background: #1a1a1a;
}

.footer-container .content {
  width: 13.8rem;
  margin: 0 auto;
}

.footer-container .content .b {
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.platform {
  position: relative;
}

.platform a {
  display: block;
  background: #666464;
  border-radius: 50%;
  transition: all 0.3s;
  width: 0.41rem;
}

.platform:hover a {
  background: #ce202f;
}

.platform:hover .popup {
  display: block;
  opacity: 1;
}

.platform .popup {
  position: absolute;
  top: -1.9rem;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  width: 1.8rem;
  height: 1.8rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0.1rem rgba(255, 255, 255, 0.3);
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.platform .popup::after {
  content: "";
  position: absolute;
  bottom: -0.09rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 0.1rem solid transparent;
  border-right: 0.1rem solid transparent;
  border-top: 0.1rem solid #fff;
}

.footer-container .email {
  border-radius: 2px;
  overflow: hidden;
}

.footer-container .email input {
  width: 3rem;
  height: 0.4rem;
  border: 1px solid #fff;
  padding: 0 0.27rem;
  border-radius: 0;
}

.footer-container .email button {
  height: 0.4rem;
  background: #fff;
  color: #111111;
  font-family: 'SourceHanSansCN-Bold';
  padding: 0 0.2rem;
}

.footer-container .checkbox-wrapper {
  justify-content: end;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.footer-container .checkbox-wrapper .custom-checkbox {
  transform: scale(0.8);
  border: 1px solid #fff;
  background-color: transparent;
}

.footer-container .checkbox-wrapper input[type="checkbox"]:checked+.custom-checkbox {
  border-color: #ccc;
}

.footer-container .email input::placeholder {
  color: #FFFFFF;
  font-size: 0.15rem;
}

/* 赛事中心页面 */
.competition-page {
  background: #f5f6f7;
}

.competition-page .top-swiper {
  background: #333;
  position: relative;
  padding: 0.8rem 0 1.4rem;
  z-index: 1;
}

.competition-page .top-swiper::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../assets/img/vip-bg-1.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.competition-page .top-swiper .sub-title {
  font-size: 0.6rem;
  color: white;
  margin: 0 auto 0.6rem;
}

.competition-page .swiper-slide {
  width: 13.28rem;
  position: relative;
}

.competition-page .swiper-slide .pic img {
  width: 7.62rem;
  height: 4.82rem;
  object-fit: cover;
}

.competition-page .swiper-des .des {
  background: #fff;
  width: 6rem;
  height: 3.32rem;
  padding: 0.4rem 0.5rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.competition-page .swiper-des .des .line-clamp-2 {
  -webkit-line-clamp: 3;
}

.competition-page .tag {
  display: flex;
}

.competition-page .tag div {
  padding: 0.00rem 0.17rem;
  font-size: 0.16rem;
  background: #d9d9d9;
  line-height: 0.3rem;
}

.swiper1 {
  width: 9rem;
  margin: 0;
}

.double-swiper .swiper-aciton {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}

.swiper1 .swiper-aciton .swiper-button-conatiner {
  position: absolute;
  bottom: 0;
  right: 0;
}

.swiper1 .swiper-aciton .swiper-button-conatiner .button {
  background: transparent;
}

.swiper2 {
  width: 9rem;
  position: absolute;
  right: -6.5rem;
  top: 0;
}

.competition-page .all-list .decoration1 {
  top: 0;
  left: auto;
  right: -1rem;
  z-index: 1;
  opacity: 0.05;
}

.competition-page .all-list .decoration4 {
  bottom: auto;
  top: 3rem;
  right: -1rem;
  left: auto;
}

.card-2 .list-group-item .tag {
  background: #d9d9d9;
  font-size: 0.16rem;
  min-width: 0.8rem;
  text-align: center;
  vertical-align: middle;
  /* 垂直居中和文字齐平 */
  padding: 0.04rem 0.17rem;
  display: inline-block;
}

.card-2 .list-group-item .des h6 {
  height: 0.78rem;
}

.competition-page .tag .progress,
.card-2 .list-group-item span.progress {
  color: #ce202f;
}

.card-2 .list-group-item {
  width: 4.16rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.card-2 .list-group-item .des {
  background: #fff;
  padding: 0.25rem;
}

.card-2 .pic {
  overflow: hidden;
}

.card-2 .pic img {
  width: 4.16rem;
  height: 2.62rem;
  transition: all 0.3s;
}

.card-2 .list-group-item:hover .pic img {
  transform: scale(1.1);
}

/* 社会慈善 */
.charity-page .list-group .list-group-item {
  position: relative;
  overflow: hidden;
}

.charity-page .list-group .pic .img {
  height: 3rem;
}

.charity-page .list-group-item .des::after {
  background: linear-gradient(180deg, transparent, #000 90.87%);
  bottom: -2px;
  content: "";
  height: 64.7482014388%;
  left: 0;
  position: absolute;
  right: 0;
  transform-origin: 50% 100%;
  transition: transform 0.4s ease;
  z-index: -1;
}

.charity-page .list-group-item:hover .des::after {
  transform: scaleY(2);
}

.charity-page .list-group .des {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: transparent;
  padding: 0.2rem 0.25rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  z-index: 2;
}

/* 登录页面 */
.login-page {
  padding: 0.7rem 0 1.2rem;
  background: #333;
  position: relative;
  z-index: 1;
}

.login-page::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../assets/img/vip-bg-1.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

/* 会员中心页面 */
.acconut-center-page {
  background: #f5f6f7;
  padding: 0.9rem 0 0.6rem;
}

.acconut-center-page .item {
  width: 2.3rem;
  height: 0.5rem;
  margin-bottom: 0.2rem;
  padding: 0.1rem 0.2rem 0.1rem 0.2rem;
  font-size: 0.18rem;
  font-family: "SourceHanSansCN-Medium";
  align-items: center;
  position: relative;
}

.acconut-center-page .item.active,
.acconut-center-page .item:hover {
  background: #d9d9d9;
}

.acconut-center-page .item.active::after,
.acconut-center-page .item:hover::after {
  content: "";
  width: 0.1rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #111;
}

.acconut-center-page .item.active path,
.acconut-center-page .item:hover path {
  fill: #111111 !important;
}

.acconut-center-page .flex svg {
  margin-right: 0.12rem;
  width: 0.2rem !important;
  height: 0.2rem !important;
}

.acconut-center-page .login-out {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: 0.2rem;
}

.acconut-center-page .form-container .form-item .value input,
.acconut-center-page .form-container .form-item .value select {
  background: transparent;
}

.account-des {
  display: flex;
  justify-content: end;
  position: relative;
  padding-left: 1.5rem;
}

.account-des .icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.04rem;
  border: 0.1rem solid #F5F6F7;
  border-radius: 50%;
  overflow: hidden;
}

.membership-status {
  gap: 0.4rem;
  height: 1.84rem;
  margin-top: 0.1rem;
  justify-content: center;
  align-items: center;
  flex: 1;
  background: #dfdfdf;
}

.membership-status h4 {
  margin-bottom: 0.2rem;
  font-size: 0.18rem;
}

.membership-status p {
  font-size: 0.18rem;
  font-family: "SourceHanSansCN-Regular";
  display: flex;
  align-items: center;
}

.membership-status p img {
  display: inline-block;
  margin-right: 0.1rem;
  width: 0.18rem;
}

.acconut-center-page .form-container {
  padding: 0;
}

.acconut-center-page .form-container::after {
  display: none;
}

.acconut-center-page .form-container .label {
  color: #111;
}

.acconut-center-page .form-container .value {
  background: #dfdfdf;
  color: #111;
  font-family: "SourceHanSansCN-Regular";
  font-size: 0.18rem;
}

.acconut-center-page .form-item .value input,
.acconut-center-page .form-item .value select,
.acconut-center-page .form-item .value input::placeholder {
  color: #111;
}

.acconut-center-page .form-item .value.select::after {
  border-top-color: #111;
}

.acconut-center-page .form-container .flex {
  justify-content: space-between;
}

/* 赛事详情 */
.competition-details-page {
  background: #f5f6f7;
}

.initial-section {
  position: relative;
}

.competition-details-page .initial-section .bg,
.reservation-page .initial-section .bg,
.members-page .initial-section .bg {
  width: 100%;
  height: 7.68rem;
  background-size: cover;
  position: relative;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
  background-color: #f5f6f7;
}

.competition-details-page .initial-section .bg::after,
.reservation-page .initial-section .bg::after,
.members-page .initial-section .bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.78);
}

.competition-details-page .initial-section .content-w,
.reservation-page .initial-section .content-w,
.members-page .initial-section .content-w {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 0.18rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.competition-details-page .initial-section .content-w .info {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.3rem;
}

.competition-details-page .initial-section .content-w .info .item {
  display: flex;
  align-items: center;
  gap: 0.1rem;
}

.sub-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.6rem;
}

.competition-details-page .process-container {
  background: #f5f6f7;
  padding: 0.7rem 0 1rem;
}

.sub-title h4 {
  font-size: 0.4rem;
}

.sub-title .move-btn {
  color: #666666;
  font-size: 0.18rem;
  display: flex;
  align-items: center;
  gap: 0.1rem;
}

.sub-title .move-btn * {
  transition: all 0.3s;
}

.sub-title .move-btn svg {
  width: 0.18rem;
}

.sub-title .move-btn:hover,
.sub-title .move-btn:hover path {
  color: #ce202f;
  fill: #ce202f;
}

.process-container .swiper-slide {
  width: 4.4rem;
}

.process-container .swiper-slide:hover .date {
  background: #ce202f;
}

.process-container .swiper-card {
  background: #fff;
  display: block;
}

.process-container .swiper-card .date {
  padding: 0.1rem 0;
  background: #111;
  text-align: center;
  color: #fff;
  font-size: 0.2rem;
  transition: all 0.3s;
}

.process-container .swiper-card .pk {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 0.3rem 0.4rem;
}

.process-container .swiper-card .pk .contestants {
  width: calc(100% / 2 - 0.5rem);
}

.process-container .swiper-card .pk .score {
  width: 1rem;
  text-align: center;
  padding-bottom: 0.5rem;
}

.process-container .swiper-card .pk .pic img {
  width: 1.13rem;
  height: 1.13rem;
  display: block;
  margin: 0 auto;
}

.process-container .swiper-card .pk .name {
  font-size: 0.18rem;
  font-family: "SourceHanSansCN-Regular";
  margin: 0.1rem 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}

.process-container .swiper-card .pk .flag img {
  width: 0.32rem;
  height: 0.24rem;
  display: block;
  margin: 0 auto;
}

.process-container .swiper-card .info {
  display: flex;
  align-items: center;
  padding: 0.2rem 0.45rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  gap: 0.4rem;
}

.process-container .swiper-card .info span {
  display: flex;
  align-items: center;
  font-size: 0.16rem;
  font-family: "SourceHanSansCN-Regular";
  gap: 0.1rem;
}

.process-container .swiper-card .info img {
  width: 0.18rem;
}

.process-container .swiper-button-conatiner {
  display: flex;
  flex-direction: row;
  padding-top: 0.5rem;
  justify-content: end;
}

/* 赛事新闻 */
.news-container {
  background: url(../assets/img/vip-bg-1.png) no-repeat #333;
  padding: 1rem 0;
}

.news-container .sub-title,
.news-container .sub-title .move-btn,
.news-container .sub-title .move-btn path {
  color: #fff;
  fill: #fff;
}

.news-container .swiper-card {
  color: #fff;
  display: block;
  padding-left: 30px;
}

.news-container .swiper-card:hover img {
  transform: scale(1.1);
}

.news-container .swiper-card .pic {
  overflow: hidden;
}

.news-container .swiper-card img {
  width: 5.8rem;
  height: 3.67rem;
  transition: all 0.3s;
}

.news-container .swiper-card .tag {
  display: inline-block;
  background: rgba(255, 255, 255, 0.3);
  padding: 0.02rem 0.17rem;
  font-size: 0.16rem;
  margin-top: 0.3rem;
  margin-bottom: 0.2rem;
}

.news-container .swiper-card .red-button {
  margin-top: 0.35rem;
}

.news-container .news-swiper-button .button {
  position: absolute;
  top: 50%;
  border-radius: 50%;
}

.news-container .news-swiper-button .swiper-button-next {
  left: auto;
  right: -1rem;
}

.news-container .news-swiper-button .swiper-button-prev {
  left: -1rem;
}

/* 影片库 */
.video-container {
  padding: 1.1rem 0 1.8rem;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
  position: relative;
  background: #fff;
}

.video-container .swiper,
.video-container .swiper-wrapper {
  overflow: visible;
}

.video-container .card {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  transform: scale(0.85);
  transition: transform 0.35s ease, opacity 0.35s ease;
  position: relative;
  display: block;
}

.video-container .card::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s;
}

.video-container .card .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font-size: 0.24rem;
  padding: 0.24rem 0.35rem;
}

.video-container .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, opacity 0.3s ease, z-index 0.3s ease;
  z-index: 1;
  width: 7.4rem;
  /* 默认在下面 */
}

.video-container .swiper-slide .pic {
  width: 100%;
}

.video-container .swiper-slide-active {
  z-index: 3;
}

.video-container .swiper-slide-active .card {
  transform: scale(1);
}

.video-container .swiper-slide-active .card::after {
  background: rgba(0, 0, 0, 0);
  display: none;
}

.pic-container {
  background: #f5f6f7;
  padding: 1rem 0;
}

.pic-container .sub-title {
  font-size: 0.4rem;
  margin-bottom: 0.6rem;
}

.pic-container .pic-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.4rem;
}

.pic-container .pic-list .pic-item {
  overflow: hidden;
}

.pic-container .pic-list .pic-item img {
  width: 4.16rem;
  height: 2.63rem;
  transition: all 0.3s;
  object-fit: cover;
}

.pic-container .pic-list .pic-item:hover img {
  transform: scale(1.1);
}

/* 比赛日程 */
.competition-date-page {
  background: #f5f6f7;
}

.competition-date-page .initial-section .bg,
.photo-gallery .initial-section .bg,
.video-gallery .initial-section .bg {
  width: 100%;
  height: 4.6rem;
  background-size: cover;
  position: relative;
  background-repeat: no-repeat;
  background-position: top;
}

.competition-date-page .content-w {
  padding: 0.8rem 0;
}

.month-change .arrow {
  width: 0.16rem;
  cursor: pointer;
}

.month-change .arrow path {
  transition: all 0.3s;
}

.month-change .arrow:hover path {
  fill: #ce202f;
}

.month-change .arrow.arrow-prev {
  transform: rotate(-180deg);
}

.day-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.2rem;
}

.day-list span {
  background: #bfbfbf;
  border-radius: 30px;
  height: 0.64rem;
  text-align: center;
  line-height: 0.64rem;
  cursor: pointer;
  color: #fff;
  transition: all 0.3s;
  font-size: 0.18rem;
}

.day-list span.active,
.day-list span:hover {
  background: #ce202f;
}

.competition-list {
  padding: 0.6rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.competition-item {
  display: flex;
  background: #fff;
}

.competition-item .left {
  width: 0.78rem;
  background: #111;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: "SourceHanSansCN-Regular";
  font-size: 0.18rem;
}

.competition-list .left .day {
  font-size: 0.18rem;
  border-bottom: 1px solid #fff;
  padding: 0 0.1rem 0.1rem;
  margin-bottom: 0.1rem;
  font-family: "SourceHanSansCN-Bold";
}

.competition-item .pk {
  display: flex;
  padding: 0.3rem 0;
  justify-content: space-between;
  position: relative;
}

.competition-item .pk::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  width: 1px;
  height: 60%;
  transform: translateY(-50%);
}

.competition-item .pk .contestants {
  width: 3.8rem;
  display: flex;
  justify-content: end;
  align-items: center;
}

.competition-item .pk .contestants .des {
  display: flex;
  flex-direction: column;
  align-items: end;
  margin-right: 0.35rem;
}

.competition-item .pk .contestants .des .flag {
  margin-bottom: 0.1rem;
}

.competition-item .pk .contestants:last-child {
  flex-direction: row-reverse;
  justify-content: start;
}

.competition-item .pk .contestants:last-child .des {
  align-items: start;
  margin-right: 0;
  margin-left: 0.35rem;
}

.competition-item .pk .contestants .des .name {
  font-size: 0.18rem;
}

.competition-item .pk .contestants .pic {
  flex-shrink: 0;
}

.competition-item .pk .contestants .pic img {
  width: 1.13rem;
}

.competition-item .pk .score {
  width: 1.5rem;
  font-size: 0.32rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.competition-item .info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  gap: 0.2rem;
}

.competition-item .info span {
  display: flex;
  align-items: center;
  font-size: 0.16rem;
  margin: 0.2rem 0;
  gap: 0.2rem;
  font-family: "SourceHanSansCN-Medium";
}

.competition-item .info span img {
  width: 0.18rem;
}

/* 图片集 */
.photo-gallery .content-w,
.video-gallery .content-w {
  padding: 0.8rem 0 1rem;
}

.photo-gallery .content-w .day-list,
.video-gallery .content-w .day-list {
  padding: 0.4rem 0;
}

.photo-gallery .photo-group {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  /* 四列 */
  grid-template-areas:
    "a a a b b b"
    /* 第一行：1、2 平均各占两列 */
    "c c c c d d"
    /* 第二行：第3张大图跨两列；第4张窄 */
    "c c c c e e";
  /* 第3张继续跨；第5张窄 */
  gap: 0.16rem;
  margin-bottom: 0.16rem;
}

.photo-gallery .photo-group:nth-child(2n) {
  grid-template-areas:
    "a a a b b b"
    /* 第一行：1、2 平均各占两列 */
    "d d c c c c "
    /* 第二行：第3张大图跨两列；第4张窄 */
    "e e c c c c ";
  /* 第3张继续跨；第5张窄 */
  gap: 0.16rem;
}

/* nth-child 定位 */
.photo-group-item:nth-child(1) {
  grid-area: a;
}

.photo-group-item:nth-child(2) {
  grid-area: b;
}

.photo-group-item:nth-child(3) {
  grid-area: c;
}

.photo-group-item:nth-child(4) {
  grid-area: d;
}

.photo-group-item:nth-child(5) {
  grid-area: e;
}

.photo-group-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  cursor: pointer;
}

.photo-group-item:hover img {
  transform: scale(1.1);
}

.photo-group-item .pic {
  width: 100%;
  height: 100%;
}

.photo-group-item .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.3s;
}

.photo-group-item .caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.2rem 0.1rem;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
  color: #fff;
  font-size: 0.24rem;
  text-align: center;
}

/* 影片库 */
.video-gallery .video-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}

.video-gallery .video-group-item {
  position: relative;
  display: block;
  z-index: 1;
  overflow: hidden;
}

.video-gallery .video-group-item::after {
  background: linear-gradient(180deg, transparent, #000 90.87%);
  bottom: -2px;
  content: "";
  height: 64.7482014388%;
  left: 0;
  position: absolute;
  right: 0;
  transform-origin: 50% 100%;
  transition: transform 0.4s ease;
  z-index: 1;
}

.video-gallery .video-group-item .pic {
  overflow: hidden;
}

.video-gallery .video-group-item .pic img {
  transition: all 0.3s;
}

.video-gallery .video-group-item:hover::after {
  transform: scaleY(2);
}

.video-gallery .video-group-item:hover .pic img {
  transform: scale(1.1);
}

.video-gallery .video-group-item .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font-size: 0.24rem;
  padding: 0.2rem 0.35rem;
  z-index: 2;
}

.video-details {
  padding: 0rem 0 1.4rem;
}

.video-details .video video {
  width: 100%;
}

.video-details .info {
  padding: 0.6rem 0 0;
}

.video-details .info p {
  display: flex;
  flex-direction: row;
  gap: 0.12rem;
  font-size: 0.18rem;
  color: #444;
  padding: 0.1rem 0;
  font-family: "SourceHanSansCN-Medium";
}

.video-details .info p img {
  width: 0.18rem;
}

.news-details {
  background: #f5f6f7;
}

.news-details .content {
  padding: 0rem 0 0.4rem;
  font-family: "SourceHanSansCN-Regular";
  font-size: 0.18rem;
}

.news-details .content p {
  line-height: 0.32rem;
  margin-bottom: 0.4rem;
}

.news-details .content img {
  margin-bottom: 0.5rem;
  display: inline-block;
}

.news-details .related {
  background: #fff;
  padding: 1.3rem;
  clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
}

/* 教练团队 */
.coach-team {
  background: #f5f6f7;
}

.coach-team .initial-section .bg,
.academy-page .initial-section .bg {
  width: 100%;
  height: 9rem;
  background-size: cover;
  background-position: center;
  position: relative;
}

.coach-team .initial-section .bg::after,
.academy-page .initial-section .bg::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}

.coach-team .initial-section .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
}

.initial-section .text h4,.initial-section .text-\[0\.78rem\]{
  font-size: 0.6rem!important;
}

.coach-team .swiper-slide {
  width: 13.28rem;
}

.coach-team .prices-container {
  background: #333;
  position: relative;
  padding: 1.5rem 0;
  color: #fff;
  clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%);
}

.coach-team .prices-container p {
  font-family: "SourceHanSansCN-Medium";
  font-size: 0.2rem;
}

.coach-team .prices-item {
  margin-top: 0.5rem;
}

.coach-team table,
.coach-team table tr,
.coach-team table th,
.coach-team table td {
  border: 1px solid #fff;
}

.coach-team table p {
  padding: 0.2rem 0;
}

.coach-team .team-primary .swiper2 .swiper-slide .pic img {
  transform: scale(0.67);
  transform-origin: left center;
}

.coach-team .prices-item h6 {
  font-size: 0.2rem;
  margin-bottom: 0.4rem;
}

.coach-team .prices-item-cell {
  display: flex;
  background: rgba(255, 255, 255, 0.1);
  margin-bottom: 0.2rem;
  padding: 0.25rem 1.28rem;
}

.coach-team .prices-item-cell p {
  padding-left: 0.5rem;
  min-width: 30%;
}

.coach-team .prices-item-cell p:nth-child(1) {
  position: relative;
}

.coach-team .prices-item-cell p:nth-child(1)::after {
  content: "";
  width: 0.08rem;
  height: 0.08rem;
  background: #d9d9d9;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}

.team-primary {
  padding: 2rem 0 1rem;
}

.team-primary .swiper-slide .pic img {
  width: 9.08rem;
  height: 6.64rem;
}

.team-primary .des {
  background: #111;
  width: 6rem;
  height: 4.4rem;
  padding: 0.6rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  line-height: 0.3rem;
  z-index: 1;
}

.team-primary .des .line-clamp-4 {
  -webkit-line-clamp: 7;
}

.coach-list .coach-item {
  position: relative;
}

.coach-list .coach-item .pic img {
  width: 2.66rem;
  height: 3.22rem;
  object-fit: cover;
}

.coach-list .coach-item .des {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.14rem;
}

.coach-list .coach-item .des::after {
  content: "";
  width: 100%;
  height: 100%;
  transform: skewX(-12deg);
  background: #fff;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.coach-list .coach-item .des .name {
  color: #fff;
  height: 0.5rem;
  line-height: 0.5rem;
  padding: 0 0.5rem;
  position: relative;
  z-index: 1;
  font-size: 0.2rem;
}

.coach-list .coach-item .des .name::before {
  content: "";
  width: 100%;
  height: 0.5rem;
  transform: translateX(0.16rem) skewX(-12deg);
  background: #111;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.coach-list .coach-item .des .info {
  position: relative;
  width: 100%;
  z-index: 1;
  padding: 0.2rem 0.5rem;
}

.coach-list .coach-item .des p {
  font-size: 0.16rem;
  font-family: "SourceHanSansCN-Regular";
  height: 0.9rem;
  overflow: hidden;
}

.coach-list .coach-item .des a {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 0.18rem;
  color: #ce202f;
  gap: 0.1rem;
}

.coach-list .coach-item .des a svg {
  width: 0.19rem;
}

.coach-details {
  background: #f5f6f7;
}

.coach-details .content-w {
  padding: 0.4rem 0 0;
}

.coach-info {
  position: relative;
}

.coach-info .pic img {
  width: 8.2rem;
  height: 6.56rem;
  object-fit: cover;
}

.coach-info .des {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #fff;
  width: 6.2rem;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.05);
  padding: 0.5rem 0.7rem;
}

.coach-info .des .name {
  font-size: 0.32rem;
  margin-bottom: 0.28rem;
}

.coach-info .des .p {
  font-size: 0.18rem;
  font-family: "SourceHanSansCN-Regular";
  line-height: 0.3rem;
  color: #444444;
}

.coach-info .des .p p {
  margin-bottom: 0.15rem;
}

.des .platform a {
  background: transparent;
}

.des .platform a:hover {
  background: rgba(0, 0, 0, 0.05);
}


/* 学院介绍 */
.academy-page {
  color: #444444;
}

.academy-page .initial-section {
  position: relative;
}

.academy-page .initial-section .content-w {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.academy-page .initial-section .content-w .pic img {
  width: 7rem;
  height: 4.82rem;
  object-fit: cover;
}

.academy-page .initial-section .content-w .des .info {
  width: 5.9rem;
  background: #fff;
  padding: 0.6rem 0.4rem;
  font-size: 0.18rem;
  font-family: "SourceHanSansCN-Regular";
  line-height: 0.32rem;
  position: relative;
  z-index: 1;
}

.academy-page .initial-section .content-w .des .info::after {
  content: "";
  width: 200%;
  height: 100%;
  position: absolute;
  top: 0;
  right: -100%;
  background: #fff;
  z-index: -1;
}

.academy-page .initial-section .content-w .des h4 {
  font-size: 0.5rem;
  color: #fff;
  margin-bottom: 0.35rem;
}

.academy-page .visual-list {
  padding: 0.7rem 0;
}

.academy-page .visual-list .visual-item {
  padding: 1.5rem 0 1.2rem;
}

.academy-page .visual-list .visual-item .content-w {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.academy-page .visual-list .visual-item .des h4 {
  font-size: 0.4rem;
  margin-bottom: 0.4rem;
  font-family: "SourceHanSansCN-Bold";
}

.academy-page .visual-list .visual-item .des {
  font-size: 0.18rem;
  font-family: "sourceHanSansCN-Regular";
  line-height: 0.32rem;
  padding-right: 1rem;
}

.academy-page .visual-list .visual-item .pic {
  width: 5.78rem;
  height: 4.22rem;
  flex-shrink: 0;
}

.academy-page .visual-list .visual-item .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.academy-page .visual-list .visual-item:nth-child(2n) {
  background: #333;
  position: relative;
  z-index: 1;
  clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
}

.academy-page .visual-list .visual-item:nth-child(2n)::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../assets/img/vip-bg-1.png) no-repeat;
  background-size: cover;
  z-index: -1;
}

.academy-page .visual-list .visual-item:nth-child(2n) .content-w {
  flex-direction: row-reverse;
}

.academy-page .visual-list .visual-item:nth-child(2n) .des {
  color: #fff;
  padding-left: 1rem;
  padding-right: 0;
}

.academy-page .partner-container {
  padding: 0.5rem 0;
  color: #111;
}

/* 学院详情 */
.academy-details .idea .des .des-item {
  margin-bottom: 0.2rem;
  padding-right: 0.3rem;
}

.academy-details .idea .des .des-item h4 {
  font-size: 0.28rem;
  margin-bottom: 0.2rem;
}

.academy-details .idea .des .des-item p,
.academy-details .idea .des .des-item li {
  font-size: 0.18rem;
  font-family: "sourceHanSansCN-Regular";
}

.academy-details .idea .des .des-item li {
  list-style: disc;
  /* 恢复默认的项目符号类型 */
  list-style-position: outside;
  /* 恢复默认的项目符号位置 */
  margin-left: 1em;
  /* 恢复默认的左边距 */
  padding-left: 0;
}

.academy-address {
  padding: 1.5rem 0 1.1rem;
  background: #333;
  margin-top: 1rem;
  clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
  position: relative;
  z-index: 1;
}

.academy-address h4 {
  font-size: 0.4rem;
  color: white;
}

.academy-address .address-info {
  width: 8.82rem;
  height: 6.26rem;
  background: url(../assets/img/address-info.png) no-repeat;
  background-size: cover;
  margin: 0 auto;
  position: relative;
}

.academy-address .address-info div {
  display: block;
  width: 0.17rem;
  height: 0.17rem;
  background: url(../assets/img/address-info-icon1.png) no-repeat;
  background-size: cover;
  position: absolute;
}

.academy-address .address-info div span {
  display: block;
  color: #fff;
  width: 2.5rem;
  position: absolute;
  top: -1.43rem;
  opacity: 0;
  transition: all 0.3s;
  transition-delay: 2s;
  font-size: 0.2rem;
}

.academy-address .address-info div::after {
  content: "";
  width: 0.08rem;
  height: 0.14rem;
  background: url(../assets/img/flag-icon.svg) no-repeat;
  background-size: cover;
  position: absolute;
  top: -0.08rem;
  left: 68%;
  transform: translateX(-50%);
  transition: all 1.5s;
  transition-delay: 0.5s;
}

.academy-address .address-info.aos-animate div::after {
  top: -1.13rem;
  height: 1.13rem;
}

.academy-address .address-info.aos-animate div span {
  opacity: 1;
}

.academy-address .address-info div:nth-child(1) {
  top: 3.38rem;
  left: 4.46rem;
}

.academy-address .address-info div:nth-child(2) {
  top: 4.17rem;
  left: 6.65rem;
}

.academy-address .address-info div:nth-child(3) {
  top: 5.38rem;
  left: 5.59rem;
}

.academy-address .address-info div:nth-child(4) {
  top: 5.51rem;
  left: 5.75rem;
}

.academy-address .address-info div:nth-child(4) span {
  top: -1rem;
  left: 0.3rem;
}

.academy-address .address-info div:nth-child(5) {
  top: 2.6rem;
  left: 5.55rem;
}

.academy-address .decoration1 {
  top: -0.8rem;
  left: auto;
  right: -1.5rem;
}

.academy-address .decoration2 {
  opacity: 0.1 !important;
}

.academy-address .decoration4 {
  top: 3rem;
  left: auto;
  right: -1.5rem;
  opacity: 0.1 !important;
}

/* 球台预定 */
.reservation-page {
  background: #f5f6f7;
}

.reservation-page .initial-section .arrow-bottom {
  width: 0.6rem;
  height: 0.6rem;
  background: url(../assets/img/arrow-bottom.png) no-repeat;
  background-size: cover;
  margin: 0.8rem auto 0;
}

.reservation-page .reservation-container {
  z-index: 2;
  position: relative;
}

.reservation-page .reservation-container:nth-child(odd) .clip {
  background: #f5f6f7;
  position: relative;
  z-index: 1;
  overflow: auto;
}

.reservation-page .reservation-container:nth-child(odd) .decoration1,
.reservation-page .reservation-container:nth-child(odd) .decoration2,
.reservation-page .reservation-container:nth-child(odd) .decoration3 {
  display: none;
}

.reservation-page .reservation-container:first-child .clip {
  padding: 0.8rem 0;
}

.reservation-page .reservation-container .clip {
  clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
}

.reservation-page .reservation-container:nth-child(2)::after {
  content: "";
  width: 100%;
  height: 0.6rem;
  background: #f5f6f7;
  position: absolute;
  bottom: 0;
  left: 0;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 100% 0%);
}

/* 加入合作 */
.cooperation-page {
  background: #fff;
}

.tuwen-list {
  padding: 1.2rem 0 0;
}

.tuwen-list .tuwen {
  padding: 1.8rem 0;
}

.tuwen .content-w {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
}

.tuwen .des {
  padding-right: 1.2rem;
}

.tuwen .des h5 {
  font-size: 0.24rem;
}

.tuwen .des h4 {
  font-size: 0.4rem;
  margin-bottom: 0.37rem;
}

.tuwen .des .text {
  font-size: 0.18rem;
  font-family: "sourceHanSansCN-Regular";
  margin-bottom: 0.28rem;
}

.tuwen .pic {
  width: 5.78rem;
  height: 4.22rem;
  flex-shrink: 0;
}

.tuwen .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tuwen-list .tuwen:nth-child(2n) .content-w {
  flex-direction: row-reverse;
}

.tuwen-list .tuwen:nth-child(2n) .content-w .des {
  padding-left: 1.2rem;
  padding-right: 0;
}

.cooperation-page .tuwen:nth-child(1) {
  background: #eaeaea;
  clip-path: polygon(0 10%, 100% 0, 100% 90%, 0 100%);
}

/* 加入我们 */
.join-page {
  background: #f5f6f7;
}

.job-list {
  margin-top: 1rem;
  padding: 1.3rem 0;
  background: #fff;
  clip-path: polygon(0 0.4rem, 100% 0, 100% 100%, 0 100%);
}

.job-list .job-item {
  border-left: 0.4rem solid #111;
  cursor: pointer;
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  padding: 0 0.6rem;
  margin-bottom: 0.4rem;
}

.job-list .job-item {
  transition: all 0.3s;
}

.job-list .job-item .job-primary {
  padding: 0.4rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.job-list .job-item .job-primary h4 {
  font-size: 0.24rem;
  margin-bottom: 0.26rem;
}

.job-list .job-item .job-primary .flex {
  font-size: 0.18rem;
  color: #444;
  font-family: "SourceHanSansCN-Regular";
}

.job-list .job-item .job-primary .flex span {
  min-width: 1.3rem;
  position: relative;
  text-align: center;
}

.job-list .job-item .job-primary .flex span::after {
  content: "";
  width: 1px;
  height: 50%;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.job-list .job-item .job-primary .flex span:first-child {
  text-align: left;
  min-width: 1rem;
}

.job-list .job-item .job-primary .flex span:last-child::after {
  display: none;
}

.job-list .job-item .job-primary .button {
  padding: 0.12rem 0.4rem;
  background: #111;
  border-radius: 50px;
  color: #fff;
  font-size: 0.16rem;
  display: flex;
  align-items: center;
}

.job-list .job-item .job-primary .button span {
  width: 0.17rem;
  height: 0.17rem;
  position: relative;
  display: inline-block;
  margin-left: 0.1rem;
  transition: transform 0.3s ease-in-out;
}

.job-list .job-item .job-primary .button span::after {
  content: "";
  width: 100%;
  height: 0.04rem;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.job-list .job-item .job-primary .button span::before {
  content: "";
  width: 0.04rem;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.job-list .job-item .job-info {
  font-size: 0.16rem;
  font-family: "sourceHanSansCN-Regular";
  border-top: 1px solid #d9d9d9;
  padding: 0.4rem 0;
  display: none;
}

.job-list .job-item .job-info-item {
  margin-bottom: 0.3rem;
}

.job-list .job-item .job-info-item h4 {
  font-size: 0.2rem;
  font-family: "SourceHanSansCN-Bold";
  margin-bottom: 0.16rem;
}

.job-list .job-item .job-info-item li {
  list-style: disc;
  /* 恢复默认的项目符号类型 */
  list-style-position: outside;
  /* 恢复默认的项目符号位置 */
  margin-left: 1em;
  /* 恢复默认的左边距 */
  padding-left: 0;
  line-height: 0.3rem;
}

.job-list .job-item:hover,
.job-list .job-item.active {
  border-color: #ce202f;
}

.job-list .job-item:hover .job-primary .button,
.job-list .job-item.active .job-primary .button {
  background: #ce202f;
}

.job-list .job-item.active .job-info {}

.job-list .job-item.active .job-primary .button span::before {
  display: none;
}

/* 成为会员 */
.members-page .initial-section .bg {
  clip-path: none;
}

.members-page .move {
  display: flex;
}

.members-page .members-section {
  padding: 2rem 0 1.2rem;
}

.members-page .members-section2 {
  background: #333;
  position: relative;
  z-index: 1;
  clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
}

.members-page .members-section2::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../assets/img/vip-bg-1.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.members-page .members-section2:before {
  content: "";
  width: 100%;
  height: 0.6rem;
  background: #f5f6f7;
  position: absolute;
  bottom: -1px;
  left: 0;
  clip-path: polygon(100% 100%, 0% 100%, 100% 0, 100% 0);
}

.members-page .members-section2 .tuwen .content-w {
  flex-direction: row-reverse;
  color: #fff;
}

.members-page .members-section2 .tuwen .content-w .des {
  padding-right: 0;
  padding-left: 1.2rem;
}

.members-page .servicePackage {
  background: #f5f6f7;
  padding: 1.2rem 0 1rem;
}

.members-page .table {
  width: 100%;
}

.members-page .table .th {
  font-size: 0.24rem;
}

.members-page .table .th>div {
  display: flex;
  align-items: center;
  gap: 0.1rem;
}

.members-page .table .th,
.members-page .table .td {
  border-bottom: 1px solid #d9d9d9;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 0.25rem 0;
}

.members-page .table .th>div,
.members-page .table .td>div {
  padding: 0 0.25rem;
}

.members-page .table .td div:not(:nth-child(1)) {
  font-size: 0.18rem;
  font-family: "SourceHanSansCN-Medium";
  color: #222222;
}

.members-page .table .td div:nth-child(1) {
  font-size: 0.2rem;
}

.members-page .table .td:last-child div:not(:nth-child(1)) {
  color: #ce202f;
  font-family: "SourceHanSansCN-Bold";
  font-size: 0.2rem;
}

.product {
  padding: 1.4rem 0;
  position: relative;
}

.product::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.6rem;
  background: #f5f6f7;
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%, 0% 100%);
}

.product-list .content-w {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.4rem;
}

.product-item {
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
}

.product-item .pic {
  width: 3.02rem;
  height: 2.16rem;
  overflow: hidden;
}

.product-item .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s;
}

.product-item .des {
  padding: 0.3rem;
  background: #fff;
}

.product-item:hover img {
  transform: scale(1.1);
}

/* 球台预定详情 */
.reservation-details {
  background: #f5f6f7;
}

.reservation-details .reservation-banner {
  padding-left: 2.2rem;
}

.reservation-details .content-w.swiper-info {
  position: absolute;
  bottom: 2.3rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.reservation-details .reservation-banner .swiper-slide {
  width: 9rem;
}

.reservation-details .reservation-banner .swiper-slide img {
  width: 100%;
}

.reservation-details .swiper-button-conatiner {
  position: absolute;
  bottom: -0.75rem;
  left: 6.9rem;
  display: flex;
  flex-direction: row;
}

.reservation-details .swiper-container {
  padding: 0.5rem 0 2.3rem;
}

.reservation-details .swiper-container .info {
  position: absolute;
  background: #333;
  width: 4.8rem;
  height: 3.1rem;
  bottom: -1.28rem;
  left: 0;
  z-index: 2;
  color: #fff;
  padding: 0.4rem 0.5rem;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 80% 100%, 0 100%);
}

.reservation-details .swiper-container .info span {
  width: 0.28rem;
  height: 0.28rem;
  background-size: cover;
  background-repeat: no-repeat;
}

.reservation-details .swiper-container .info .iphone-icon {
  background-image: url(../assets/img/iphone-icon3.svg);
}

.reservation-details .swiper-container .info .email-icon {
  background-image: url(../assets/img/email-icon3.svg);
}

.reservation-details .plate {
  margin-bottom: 0.6rem;
}

.reservation-details .plate h4 {
  font-size: 0.36rem;
  margin-bottom: 0.3rem;
}

.reservation-details .plate p {
  font-size: 0.18rem;
  font-family: "sourceHanSansCN-Regular";
  color: #444;
}

.reservation-details .other-venue {
  padding: 1.4rem 0;
  background: #fff;
  position: relative;
}

.reservation-details .other-venue::after {
  content: "";
  width: 100%;
  height: 0.6rem;
  background: #f5f6f7;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%, 0% 100%);
}

.reservation-details .other-venue .venue-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.68rem;
}

#map-container {
  width: 8.2rem;
  height: 6rem;
  flex-shrink: 0;
}

.reservation-details .map-container {
  gap: 0.5rem;
}

.reservation-details .map-container .type {
  width: 100%;
}

.reservation-details .map-container .type-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.reservation-details .map-container .type-list .type-item {
  border-bottom: 1px solid #D9D9D9;
}

.reservation-details .map-container .type-list .type-item .flex {
  font-size: 0.24rem;
  padding: 0.4rem 0;
  align-items: center;
  cursor: pointer;
}

.reservation-details .map-container .type-list .type-item .flex .icon {
  width: 0.17rem;
  height: 0.17rem;
  background: url(../assets/img/add-icon2.svg) no-repeat;
  background-size: cover;
}

.reservation-details .map-container .type-list .type-item .info {
  display: none;
  padding-bottom: 0.4rem;
}

.reservation-details .map-container .type-list .type-item.active .flex .icon {
  background: url(../assets/img/del-icon.svg) no-repeat center;

}

/* 产品详情 */
.product-details-page {
  background: #f5f6f7;
}

.product-details-page .product {
  background: #fff;
}

.product-primary .product-info-pic {
  display: flex;
}

.product-primary .product-info-pic .mySwiper2 {
  width: 5.16rem;
}

.product-primary .product-info-pic .mySwiper2 .swiper-slide {
  width: 5.16rem;
  height: 5.16rem;
}

.product-primary .product-info-pic .mySwiper2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-primary .product-info-pic .mySwiper {
  width: 1.14rem;
  height: 5.16rem;
  margin-right: 0.36rem;
}

.product-primary .product-info-pic .mySwiper .swiper-slide {
  height: 1.14rem;
}

.product-primary .product-info-pic .mySwiper .swiper-slide.swiper-slide-thumb-active {
  border: 1px solid #ce202f;
}

.product-primary .product-info-pic .mySwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-primary .product-info-des {
  padding-left: 0.82rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.product-primary .product-info-des .tag span {
  background: #D9D9D9;
  display: inline-block;
  padding: 0.05rem 0.2rem;
  color: #444444;
  font-family: 'SourceHanSansCN-Medium';
}

.product-info {
  padding: 1rem 0;
}

.product-info .info-group-item {
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #D9D9D9;
}

.product-info .info-group-item .label {
  width: 1.9rem;
  padding: 0.2rem 0;
  font-size: 0.2rem;
  background: #D9D9D9;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-info .info-group-item .value {
  font-size: 0.18rem;
  font-family: 'SourceHanSansCN-Medium';
  width: 100%;
  padding: 0.2rem 0.5rem;
  display: flex;
  align-items: center;
}

.product-page .screening {
  width: 2.4rem;
  flex-shrink: 0;
}

.product-page .screening-cell {
  padding-bottom: 0.2rem;
}

.product-page .screening-cell .checkbox-wrapper {
  font-size: 0.16rem;
  font-family: 'SourceHanSansCN-Medium';
  margin-bottom: 0.14rem;

}

.product-page .screening-cell .options-list {
  padding-left: 0.24rem;
  padding-top: 0.01rem;
}

.product-page .screening-cell button {
  background: #1B1B1B;
  color: #fff;
  font-size: 0.18rem;
  width: 100%;
  padding: 0.1rem 0;
}

.product-mian .product-list-container {
  padding-left: 1rem;
  width: calc(100% - 2.4rem);

}

.product-mian>.content-w {
  display: flex;
}

.product-mian .product {
  padding: 0;
  margin-bottom: 0.4rem;
}

.product-mian .product::after {
  display: none;
}

.product-mian .product .sub-title h4 {
  font-size: 0.32rem;
}

.product-mian .product-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.4rem;
}

.screening-btn-cell {
  display: none;
}

.swiper-des .tag div {
  font-size: 0.2rem;
  display: inline-block;
}

/* 移动端header样式 */
@media (max-width: 980px) {
  body.menu-open {
    overflow: hidden;
  }

  .header {
    height: 1.2rem;
  }

  .main {
    padding-top: 1.2rem;
  }

  .header>div:first-child {
    width: 100% !important;
    padding: 0 0.3rem;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr auto auto;
    /* 左边占满，右边两个自适应 */
    align-items: center;
    gap: 10px;
    /* 控制右边两个之间的间距 */
  }

  .header .logo {
    width: 2rem !important;
    height: auto !important;
    margin-right: 0 !important;
  }

  .header .nav {
    display: none;
  }

  .header .pre {
    display: none;
  }

  .header .action {
    justify-content: space-between;
  }

  .header .action .login,
  .header .action .language {
    display: none;
  }

  .header .action .item {
    padding: 0 0.1rem;
    font-size: 0.16rem;
  }

  .header .action .item svg {
    width: 0.3rem;
  }

  .header .action .item .text {
    display: none;
  }

  .header .action .item::after {
    display: none;
  }

  .header .search-container {
    top: 1.2rem;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
  }

  .header .search-container .flex {
    height: 2rem;
    background: #fff;
    padding: 0.15rem 5%;
    width: 100%;
    margin-top: 0;
    justify-content: center;
    align-items: center;
  }

  .header .search-container input {
    height: 0.4rem;
    padding: 0.1rem;
  }

  .banner .swiper-slide img {
    height: 6.8rem;
    object-fit: cover;
  }

  .vip-container {
    height: auto;
  }

  .vip-container .sub-title {
    font-size: 0.42rem;
  }

  .vip-container .vip-pic-list {
    flex-direction: column;
    padding: 0 5%;
    gap: 0.5rem;
  }

  .vip-container .vip-pic-list .vip-pic-item .pic {
    width: 100%;
  }

  .vip-container .vip-info {
    width: 90%;
    flex-direction: column;
    text-align: center;
    margin: 0.5rem auto;
  }

  .vip-container .vip-info .vip-info-bg {
    display: none;
  }

  .vip-container .vip-info .level-des {
    font-size: 0.2rem;
  }

  .reservation-container .clip {
    padding: 0.5rem 0;
  }

  .reservation-container .panle {
    flex-direction: column;
    padding: 0 5%;
  }

  .reservation-container .panle .panle-left {
    width: 100%;
    padding-left: 0;
  }

  .reservation-container .panle .area-list {
    flex-direction: row;
  }

  .reservation-container .panle .panle-right {
    width: 100%;
  }

  .reservation-container .panle .panle-right .swiper-slide {
    width: 90%;
  }

  .reservation-container .panle .panle-left {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 两列 */
    grid-template-rows: auto auto;
    /* 两行 */
    gap: 10px;
    /* 间距可调 */
    margin-bottom: 20px;
  }

  .reservation-container .panle .panle-left .inline-block {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: end;
  }

  .reservation-container .panle .panle-left .area-list {
    grid-column: 1 / -1;
    /* 第3个元素占满一整行 */
  }

  .reservation-container .panle .panle-right .swiper-button-conatiner {
    left: auto;
    right: 0.2rem;
  }

  .fluid-container .panle {
    flex-direction: column;
    height: auto;
  }

  .fluid-container .light-container {
    display: none;
  }

  .fluid-container .panle .panle-left {
    width: 100%;
  }

  .fluid-container .panle .panle-left img {
    width: 100%;
    height: 5rem;
    object-fit: cover;
    clip-path: none;
  }

  .fluid-container .panle .panle-right {
    width: 100%;
    padding-left: 0;
    padding: 0.2rem 0;
  }

  .fluid-container .panle .panle-right-content {
    width: 100%;
    padding: 0 5%;
  }

  .competition-container {
    padding: 0.5rem 0;
  }

  .competition-container .panle-left {
    width: 100%;
    height: auto;
    padding: 0.5rem 5%;
    margin-top: 0;
  }

  .competition-container .panle .panle-left-content {
    width: 100%;
  }

  .competition-container .panle .panle-left-content h4,
  .competition-container .panle .panle-left-content p {
    margin-bottom: 0.2rem;
  }

  .competition-container .panle-right {
    position: static;
    width: 100%;
  }

  .competition-container .swiper-container {
    top: -0.3rem;
  }

  .competition-container .panle .swiper-slide {
    padding: 0 5%;
    width: 100%;
  }

  .competition-container .panle .des {
    padding: 0.3rem;
  }

  .reservation-details .reservation-banner {
    padding-left: 0;
  }

  .competition-container .panle .swiper-slide a {
    display: block;
  }

  .competition-container .panle .swiper-slide img.scale-element {
    height: 5rem;
    width: 100%;
    object-fit: cover;
  }

  .competition-container .panle .panle-right .swiper-button-conatiner {
    position: static;
  }

  .charity-container {
    padding: 0.5rem 0 1rem;
  }

  #map-container {
    width: 100%;
    height: 4.5rem;
  }

  .charity-container .swiper-slide {
    width: 90%;
    height: auto;
  }

  .charity-swiper-pagination.swiper-pagination-progressbar {
    width: 90vw;
  }

  .charity-container .swiper-aciton {
    width: 90%;
  }

  .charity-container .swiper-slide .scale-hover {
    height: auto;
  }

  .charity-container .swiper-slide:nth-child(2n) {
    padding-top: 0;
  }

  .charity-container>h4 {
    padding-bottom: 0.2rem;
  }

  .pic-arr-container {
    padding-top: 1.5rem;
  }

  .partner-container {
    padding: 0.8rem 0;
  }

  .footer-container .content {
    width: 100%;
    padding: 0 5%;
  }

  .footer-cell1,
  .footer-cell2 {
    flex-direction: column;
    gap: 0.3rem;
  }

  .footer-cell1 img {
    width: 1.5rem;
  }

  .footer-cell2 {
    flex-direction: column-reverse;
  }

  .footer-cell2 .gap-\[0\.4rem\],
  .footer-cell2 .info {
    width: 100%;
  }

  .footer-cell2 .info {
    gap: 0;
  }

  .footer-cell2 .info .items-center {
    margin-bottom: 0.2rem;
  }

  .footer-cell2 .platform-list {
    justify-content: start;
  }

  .footer-cell2 .info .item-line3 {
    flex-direction: column;
    gap: 0;
  }

  .academy-page .initial-section .content-w .pic,
  .academy-page .initial-section .content-w .des .info::after {
    display: none;
  }

  .academy-page .initial-section .content-w .des .info {
    width: 100%;
    font-size: 0.24rem;
    line-height: 0.42rem;
    height: auto;
  }

  .academy-page .visual-list .visual-item .content-w {
    flex-direction: column-reverse;
  }

  .academy-page .visual-list .visual-item .des {
    margin-top: 0.4rem;
    font-size: 0.24rem;
    line-height: 0.48rem;
    padding-right: 0;
  }

  .academy-page .visual-list .visual-item:nth-child(2n) .content-w {
    flex-direction: column-reverse;
  }

  .academy-page .visual-list .visual-item:nth-child(2n) .des {
    padding-left: 0;
  }

  .academy-page .line-clamp-4{
    -webkit-line-clamp: none;
  }

  .coach-team .initial-section .text {
    width: 100%;
    padding: 0 5%;
  }

  .team-primary {
    padding: 2rem 0 .5rem;
  }

  .team-primary .swiper-slide {
    display: flex;
    flex-direction: column;
  }

  .team-primary>h4 {
    margin-bottom: 0.4rem;
  }

  .coach-team .swiper-slide,
  .competition-page .swiper-slide {
    width: 100%;
  }

  .team-primary .swiper-slide .pic img {
    width: 100%;
    height: 3.2rem;
    object-fit: cover;
  }

  .team-primary .des {
    position: static;
    transform: translate(0, 0);
    width: 100%;
    height: auto;
    padding: 5%;
  }

  .swiper1 {
    width: 100%;
  }

  .double-swiper {
    padding-bottom: 0.6rem;
  }

  .double-swiper .swiper-aciton {
    bottom: -0.6rem;
    right: 5%;
  }

  .double-swiper .swiper-aciton .swiper-button-conatiner {
    position: static;
  }

  .coach-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 0.3rem;
  }

  .coach-list .coach-item {
    display: flex;
  }

  .coach-list .coach-item .pic {
    width: 2.66rem;
    flex-shrink: 0;
  }

  .coach-list .coach-item .des p {
    font-size: 0.2rem;
  }

  .coach-list .coach-item .des,
  .competition-page .swiper-des .des {
    position: static;
    transform: translate(0, 0);
    width: 100%;
  }

  .coach-list .coach-item .des::after {
    transform: skewX(0);
  }

  .coach-list .coach-item .des .name::before {
    transform: translate(0, 0) skewX(0)
  }

  .coach-list .coach-item .des .info {
    padding: 0.2rem;
  }

  .coach-list .coach-item .des .info .line-clamp-3 {
    -webkit-line-clamp: 8;
  }

  .coach-team .prices-item-cell {
    padding: 0.25rem;
  }

  .coach-team .prices-container {
    padding: 1rem 0 0.5rem;
  }

  .competition-page .swiper-des .des {
    padding: 0.3rem;
    height: auto;
  }

  .competition-page .all-list {
    padding: 1.8rem 0 0.5rem;
  }

  .competition-page .all-list .list-group {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .coach-info .des {
    position: static;
    transform: translate(0, 0);
    width: 100%;
    padding: 0.3rem;
  }

  .coach-info .des .text-\[0\.20rem\] {
    font-size: 0.24rem;
  }

  .coach-info .des .p {
    font-size: 0.24rem;
    line-height: .42rem;
  }

  
.members-page .table .th>div,
.members-page .table .td>div {
  padding: 0 0.15rem;
  font-size: 0.18rem;
}

  .coach-info .pic img {
    width: 100%;
    height: auto;
  }

  .tuwen-list {
    padding: 0.8rem 0;
  }

  .tuwen-list .tuwen {
    padding-top: 1.4rem;
    padding-bottom: 1.2rem;
  }

  .tuwen-list .tuwen:nth-child(2n) {
    padding-top: .8rem;
    padding-bottom: 0;
  }

  .tuwen .content-w,
  .tuwen-list .tuwen:nth-child(2n) .content-w,
  .members-page .members-section2 .tuwen .content-w {
    flex-direction: column-reverse;
  }

  .tuwen-list .tuwen:nth-child(2n) .content-w .des {
    padding-left: 0;
    padding: 0.3rem;
  }

  .tuwen .content-w .des,
  .tuwen-list .tuwen:nth-child(2n) .content-w .des {
    padding: 0.3rem;
    background: #fff;
  }

  .members-page .members-section2 .tuwen .content-w .des {
    padding: 0.3rem;
    color: #333;
  }

  .tuwen .des h4 {
    font-size: 0.34rem;
  }

  .tuwen .des h5 {
    font-size: 0.28rem;
  }

  .tuwen .des .text {
    font-size: 0.24rem;
  }

  .members-page .members-section {
    padding: 1.8rem 0 0.5rem;
  }

  .members-page .servicePackage {
    padding: .8rem 0 0.5rem;
  }

  .product-list .content-w {
    grid-template-columns: repeat(1, 1fr);
  }

  .product-item .pic {
    width: 100%;
    height: auto;
  }

  .card-2 .list-group-item {
    width: 100%;
  }

  .card-2 .pic img {
    width: 100%;
    height: auto;
  }

  .competition-page .top-swiper .sub-title {
    font-size: 0.48rem;
    margin-bottom: 0.48rem;
  }

  .competition-page .top-swiper {
    padding-bottom: 0.8rem;
  }

  .job-list {
    padding: 0.8rem 0;
  }

  .job-list .job-item {
    padding: 0 0.3rem;
  }

  .job-list .job-item .job-primary {
    padding: 0.3rem 0;
  }

  .job-list .job-item .job-primary .button {
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
  }

  .academy-details .idea {
    padding-top: 0.8rem !important;
  }

  .academy-details .idea .flex {
    flex-direction: column-reverse;
  }

  .academy-details .idea .flex .des {
    padding: 0.3rem 0;
  }

  .academy-details .idea .des .des-item p,
  .academy-details .idea .des .des-item li {
    font-size: 0.22rem;
  }

  .academy-details .idea .pic {
    padding-left: 0;
  }

  .academy-details .idea .pic img {
    width: 100%;
  }

  .academy-address {
    padding: 1rem 0 0.5rem;
    margin-top: 0;
  }

  .academy-address .address-info {
    transform: scale(0.8) !important;
    transform-origin: center;
    margin-left: -1.5rem;
  }

  .academy-address .decoration4 {
    width: 2rem;
    height: 2rem;
  }

  .academy-address .decoration2 {
    width: 2rem;
    height: 2rem;
    bottom: -0.5rem;
    left: -0.5rem;
  }

  .pic-container {
    padding: 0.5rem 0;
  }

  .pic-container .pic-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .pic-container .pic-list .pic-item img {
    width: 100%;
    height: 1.8rem;
  }

  .reservation-details .plate p {
    font-size: 0.24rem;
  }

  .acconut-center-page {
    padding: 0.5rem 0;
  }

  .acconut-center-page .content-w>.flex {
    flex-direction: column;
  }

  .acconut-center-page .info {
    padding-left: 0;
    width: 100%;
  }

  .acconut-center-page .menu-group {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin-bottom: 0.4rem;
  }

  .acconut-center-page .menu {
    display: flex;
  }

  .acconut-center-page .item {
    width: auto;
  }

  .acconut-center-page .item.active::after,
  .acconut-center-page .item:hover::after {
    width: 100%;
    height: 0.03rem;
    top: auto;
    bottom: 0;
  }

  .acconut-center-page .flex svg {
    width: 0.5 !important;
    height: 0.5rem !important;
  }

  .competition-details-page .initial-section .content-w,
  .reservation-page .initial-section .content-w,
  .members-page .initial-section .content-w {
    font-size: 0.24rem;
  }

  .competition-details-page .initial-section .content-w .info {
    flex-direction: column;
  }

  .acconut-center-page .login-out {
    padding-top: 0;
    border: 0px;
  }

  .job-list .job-item .job-info-item h4 {
    font-size: 0.24rem;
  }

  .job-list .job-item .job-info {
    font-size: 0.22rem;
  }

  .job-list .job-item .job-info-item li {
    line-height: 0.4rem;
  }

  .account-des {
    padding-left: 0;
  }

  .account-des .icon {
    display: none;
  }

  .membership-status {
    width: 100%;
    height: auto;
    padding: 0.2rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.3rem;
  }

  .competition-date-page .initial-section .bg,
  .photo-gallery .initial-section .bg,
  .video-gallery .initial-section .bg {
    background-size: auto 100%;
    background-attachment: initial;
  }

  .competition-date-page .content-w {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .competition-date-page .month-change {
    margin: 0.2rem 0;
  }

  .day-list {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
  }

  .day-list span {
    height: auto;
    flex-shrink: 0;
    line-height: normal;
    padding: 0.05rem 0.1rem;
    font-size: 0.2rem;
  }

  .competition-item .left {
    width: auto;
    padding: 0 0.2rem;
  }

  .competition-item .pk .contestants {
    width: 3rem;
  }

  .competition-item .pk {
    padding: 0.3rem;
  }

  .competition-item {
    flex-direction: column;
  }

  .competition-list .left {
    flex-direction: row;
    padding: 0.1rem;
    font-size: 0.24rem;
  }

  .competition-list .left .day {
    display: flex;
    margin-bottom: 0rem;
    border-bottom: 0;
    padding: 0 0.2rem;
    font-size: 0.24rem;
  }

  .competition-item .info {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }

  .competition-item .info .parcel {
    display: flex;
    flex-direction: row;
    gap: 0.4rem;
  }

  .competition-item .info span {
    font-size: 0.2rem;
  }

  .competition-details-page .process-container,
  .news-container,
  .video-container {
    padding: 0.5rem 0 0.5rem;
  }

  .video-container {
    padding-bottom: 1rem;
  }

  .news-container .news-swiper-button .swiper-button-prev {
    left: 0;
  }

  .news-container .news-swiper-button .swiper-button-next {
    right: 0;
  }

  .news-container .swiper-card {
    padding: 0 30px;
  }

  .video-container .card .caption {
    font-size: 0.2rem;
    padding: 0.2rem;
  }

  .video-container .card .caption img {
    width: 0.5rem;
  }

  .photo-gallery .content-w,
  .video-gallery .content-w {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .video-gallery .video-group {
    grid-template-columns: 1fr;
  }

  .video-details {
    padding-bottom: 0.5rem !important;
  }

  .photo-gallery .photo-group,
  .photo-gallery .photo-group:nth-child(2n) {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: none;
  }

  .photo-gallery .photo-group>div {
    grid-area: auto;
  }

  .photo-gallery .photo-group>div:first-child {
    grid-column: span 2;
  }


  .news-details .related {
    padding: 1.2rem 0;
  }

  .news-details .related h4 {
    font-size: 0.32rem;
  }

  .news-details .related .list-group {
    grid-template-columns: 1fr;
  }

  .reservation-details .other-venue {
    padding: 1rem 0;
  }

  .reservation-details .other-venue .venue-list {
    gap: 0.2rem;
    grid-template-columns: repeat(1, 1fr);
  }

  .reservation-details .other-venue .venue-list .address-contianer>h4 {
    margin-top: 0.2rem;
  }

  .reservation-details .other-venue .venue-list .address-Contact {
    font-size: 0.24rem;
  }

  .product-primary {
    flex-direction: column;
  }

  .product-primary .product-info-pic {
    flex-direction: column-reverse;
  }

  .product-primary .product-info-pic .mySwiper2 {
    width: 100%;
    margin-bottom: 0.2rem;
  }

  .product-primary .product-info-pic .mySwiper2 .swiper-slide {
    width: 100%;
    height: auto;
  }

  .product-primary .product-info-pic .mySwiper .swiper-slide {
    height: auto;
  }

  .product-primary .product-info-pic .mySwiper {
    width: 100%;
    height: auto;
  }

  .product-primary .product-info-des {
    padding-left: 0;
    padding: 0.3rem 0;
  }

  .product-primary .product-info-des .hint {
    margin-bottom: 0.2rem;
  }

  .product-info {
    padding: 0.5rem 0;
  }

  .product-info .info-group {
    grid-template-columns: 1fr;
  }

  .product-mian {
    position: relative;
  }

  .product-mian .product-list-container {
    width: 100%;
    padding-left: 0;
  }

  .product-list-container>h4 {
    font-size: 0.3rem;
  }

  .product-mian .product .sub-title h4 {
    font-size: 0.28rem;
  }

  .product-mian .product-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-page .crumbs {
    display: none;
  }

  .screening-btn-cell {
    width: 100%;
    padding: 0.2rem 0;
    background: #fff;
    text-align: center;
    position: fixed;
    left: 0;
    color: #111;
    z-index: 2;
    border-bottom: 1px solid #eee;
    display: block;
  }

  .product-page .screening {
    position: fixed;
    left: 0;
    background: #fff;
    z-index: 2;
    width: 100%;
    padding: 0.3rem;
    display: none;
  }

  .product-page .screening .screening-cell {
    display: flex;
    flex-direction: row;
  }

  .product-page .screening .screening-cell .type-label {
    flex-shrink: 0;
    margin-right: 0.3rem;
    width: 1rem;
  }

  .product-page .screening .screening-cell .options-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.1rem;
    padding-left: 0;
    margin-top: 0.1rem;
  }

  .checkbox-wrapper {
    margin: 0;
  }

  .mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1;
    display: none;
  }

  .reservation-details .map-container {
    flex-direction: column;
    gap: 0.2rem;
  }

  .crumbs {
    padding: 0.3rem 0;
    font-size: 0.24rem;
  }

  .reservation-banner {
    padding-left: 0;
  }

  .reservation-details .swiper-container {
    padding-bottom: 0.5rem;
  }

  .reservation-details .reservation-banner .swiper-slide {
    width: 100%;
    padding: 0 5%;
  }

  .reservation-details .content-w.swiper-info {
    position: static;
    transform: translate(0);
  }

  .reservation-details .swiper-container .info {
    position: static;
    width: 100%;
  }

  .reservation-details .swiper-button-conatiner {
    bottom: auto;
    left: auto;
    right: 5%;
    z-index: 4;
  }

  .swiper2 {
    display: none;
  }

  .swiper1 .swiper-aciton .swiper-button-conatiner {
    position: static;
  }

  .footer-container .checkbox-wrapper {
    justify-content: start;
  }

  .news-details .content {
    font-size: 0.24rem;
  }

  .news-details .content p {
    line-height: 0.42rem;
  }

  .product-info .info-group-item .value {
    font-size: 0.2rem;
  }
}

@media (min-width: 981px) {
  .footer-container .email {
    flex-direction: row;
    justify-content: end;
  }
}