* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html,
body {
  min-height: 100vh;
  font-family: 'Roboto', sans-serif;
  background-color: #fdeaf2;
}

#app {
  display: flex;
  flex-direction: column;
}

/* 顶部导航 */
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  height: 0.64rem;
  box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.001), rgba(0, 0, 0, 0.001)), rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
}
.header-container {
  width: 100%;
  height: 100%;
  max-width: 12.8rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
.logo {
  font-size: 0.2rem;
  font-weight: bold;
  background: linear-gradient(to right, #fe2c55, #ff69b4);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
}
.logo > img {
  width: 0.5rem;
  height: 0.59rem;
  margin-right: 0.1rem;
}
.header-btn {
  background: linear-gradient(to right, #fe2c55, #ff69b4);
  color: white;
  border: none;
  padding: 0.08rem 0.24rem;
  border-radius: 0.04rem;
  font-size: 0.14rem;
  cursor: pointer;
  transition: all 0.3s ease;
}
.header-btn:hover {
  transform: translateY(-0.01rem);
  box-shadow: 0 0.375rem 1rem rgba(254, 44, 85, 0.3);
}

/* 内容 */
main {
  flex: 1;
  padding-top: 0.64rem;
}
.content-container {
  max-width: 19.2rem;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

/* Banner区域 1920*640 */
.banner-box {
  width: 100%;
  max-width: 19.2rem;
  height: 6.4rem;
  background-color: rgb(238, 136, 153);
}
.banner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 核心功能 */
.core-features {
  max-width: 14.4rem;
  width: 14.4rem;
  height: 5.84rem;
  text-align: center;
  margin: 0 auto;
  background: #fff7fe;
}
.section-title {
  font-size: 0.36rem;
  line-height: 0.48rem;
  font-weight: bold;
  color: #111827;
  margin-top: 0.8rem;
  margin-bottom: 0.16rem;
}
.section-desc {
  font-size: 0.2rem;
  line-height: 0.28rem;
  color: #4b5563;
  margin-bottom: 0.64rem;
}
.features-list {
  display: flex;
  justify-content: center;
  gap: 0.32rem;
  flex-wrap: wrap;
  padding: 0 1.04rem;
}
.feature-item {
  width: 2.84rem;
  height: 2.76rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.001), rgba(0, 0, 0, 0.001)), #ffffff;
  border-radius: 0.2rem;
  border: 1px solid #f3f4f6;
  padding: 0.33rem 0.38rem;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  cursor: default;
}
.feature-item:hover {
  transform: translateY(-0.03rem);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}
.feature-icon {
  width: 0.64rem;
  height: 0.64rem;
  margin: 0 0 0.24rem;
  border-radius: 50%;
}
.feature-title {
  font-size: 0.2rem;
  line-height: 0.28rem;
  color: #111827;
  margin-bottom: 0.16rem;
  font-weight: 600;
}
.feature-desc {
  font-size: 0.16rem;
  color: #666;
  line-height: 1.5;
}

/* 套餐选择 */
.packages {
  max-width: 14.4rem;
  width: 14.4rem;
  height: 6.73rem;
  text-align: center;
  background: #fff;
  margin: 0 auto;
}
.packages > .section-desc {
  margin-bottom: 0.46rem;
}
.packages-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.13rem;
  flex-wrap: wrap;
}
.package-item {
  width: 3.62rem;
  height: 3.56rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border-radius: 0.2rem;
  padding: 0.32rem;
  box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.05);
  border: 1px solid #e5e7eb;
  position: relative;
  cursor: default;
  transition: all 0.3s ease;
}
/* .package-item:hover {
  transform: translateY(-0.03rem);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.18);
} */
.package-item.recommend {
  width: 3.8rem;
  height: 3.738rem;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(135deg, #ec4899 -9%, #4f46e5 100%);
  color: #fff;
  border-color: transparent;
  /* transform: scale(1.05); */
}
.recommend-tag {
  width: 0.63rem;
  height: 0.252rem;
  position: absolute;
  top: -0.16rem;
  left: 50%;
  transform: translateX(-50%);
  background: #facc15;
  color: #000;
  font-size: 0.14rem;
  font-weight: 500;
  padding: 0.04rem 0.16rem;
  border-radius: 0.126rem;
  box-sizing: border-box;
}
.package-content-box {
  display: flex;
  flex-direction: column;
}
.package-title {
  font-size: 0.24rem;
  font-weight: bold;
  line-height: 0.36rem;
  color: #111827;
  margin-bottom: 0.16rem;
}
.package-item.recommend .package-title {
  color: #fff;
  margin-bottom: 0.2rem;
}
.package-price {
  font-size: 0.36rem;
  line-height: 0.4rem;
  font-weight: bold;
  color: #111827;
  margin-bottom: 0.24rem;
}
.package-price-range {
  font-size: 0.16rem;
  line-height: 0.24rem;
  color: #4b5563;
}
.package-item.recommend .package-price {
  color: #fff;
  margin-bottom: 0.275rem;
}
.package-item.recommend .package-price-range {
  color: #fff;
}
.package-feature {
  font-size: 0.16rem;
  color: #374151;
  text-align: left;
  margin-bottom: 0.12rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.package-item.recommend .package-feature {
  color: #fff;
}
.package-feature::before {
  content: url('/resouce/image/correct_icon.svg');
  width: 0.14rem;
  object-fit: contain;
  /* transform: scale(0.9); */
  margin-right: 0.24rem;
}
.package-item.recommend .package-feature::before {
  content: url('/resouce/image/correct_icon_white.svg');
}
.package-btn {
  width: 3rem;
  height: 0.5rem;
  border-radius: 0.04rem;
  border: 1px solid #d1d5db;
  background: transparent;
  color: #374151;
  font-size: 0.16rem;
  cursor: pointer;
  transition: all 0.3s ease;
}
.package-item.recommend .package-btn {
  background: #fff;
  color: #ec4899;
  border: none;
}
.package-btn:hover {
  background: #ec4899;
  color: #fff;
}
.package-item.recommend .package-btn:hover {
  background: #ec4899;
  color: #fff;
}

/* 使用教程 */
.tutorial {
  width: 14.4rem;
  max-width: 14.4rem;
  height: 7.96rem;
  background: #111827;
  text-align: center;
  margin: 0 auto;
}
.tutorial .section-title {
  color: #fff;
}
.tutorial .section-desc {
  color: #d1d5db;
  margin-bottom: 0.48rem;
}
.tutorial-video {
  width: 8.96rem;
  max-width: 8.96rem;
  height: 5.04rem;
  margin: 0 auto;
  position: relative;
  border-radius: 0.2rem;
}
.tutorial-video video {
  width: 8.96rem;
  max-width: 8.96rem;
  height: 5.04rem;
  border-radius: 0.2rem;
}
.play-btn {
  width: 0.62rem;
  height: 0.62rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  transition: all 0.3s ease;
}

.play-btn.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.play-btn.hide {
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.5);
  pointer-events: none;
}

/* Footer */
footer {
  width: 14.4rem;
  height: 1.21rem;
  background: #ffffff;
  padding: 0.2rem 0;
  text-align: center;
  color: #4b5563;
  font-size: 0.16rem;
  line-height: 0.24rem;
  box-sizing: border-box;
  position: relative;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}
/* 联系我们 */
.contact-icon {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0.95rem;
  height: 0.95rem;
  cursor: pointer;
  z-index: 10;
  overflow: hidden;
}
.contact-icon > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.contact-qrcode-box {
  position: absolute;
  right: 0.24rem;
  top: -1.5rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 9;
}
.qrcode-dialog {
  width: 1.6rem;
  height: 1.6rem;
  background: #fff;
  border-radius: 0.05rem;
  padding: 0.08rem 0.15rem 0;
  position: relative;
  box-shadow: 0px 0.04rem 0.1rem 0px rgba(0, 0, 0, 0.3);
}
.qrcode-dialog > span {
  font-size: 0.14rem;
  color: #9e9e9e;
  text-align: center;
  position: relative;
  z-index: 2;
}
.qrcode-img {
  width: 1.27rem;
  height: 1.27rem;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 2;
}
.qrcode-dialog::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0.3rem;
  transform: translateY(50%);
  width: 0;
  height: 0;
  border-top: 0.48rem solid transparent;
  border-bottom: 0.48rem solid transparent;
  border-right: 0.58rem solid #fff;
  z-index: 1;
}
.qrcode-dialog::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0.02px;
  transform: translateY(50%);
  width: 0;
  height: 0;
  border-top: 0.18rem solid transparent;
  border-bottom: 0.18rem solid transparent;
  border-right: 0.28rem solid #000;
  filter: blur(0.04rem);
  opacity: 0.2;
  z-index: 1;
}
.contact-icon:hover + .contact-qrcode-box {
  opacity: 1;
  visibility: visible;
}
.contact-qrcode-box:hover {
  opacity: 1;
  visibility: visible;
}
