/* 基础重置和变量 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --primary-color: #1f81f8;
  --red-color: #E40000;
  --orange-color: #FFA319;
  --bg-light-blue: #EAF3FF;
  --bg-icon-blue: #d3e5ff;
  --text-dark: #000;
  --text-gray: #666;
  --text-light-gray: #999;
  --divider-color: #ececec;
}

html {
  font-size: calc(100vw / 7.5);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

/* 页面主容器 */
.page-index {
  position: relative;
  min-height: 100vh;
  padding-bottom: 1.6rem;
  background: linear-gradient(135deg, rgb(31, 129, 248) 0%, rgb(161, 203, 242) 100%);
  color: var(--text-dark);
}

/* 背景光效 */
.bg-light {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  pointer-events: none;
}

/* 主内容容器 */
.pc-container {
  position: relative;
  z-index: 1;
}

/* 头部区域 */
.header-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.32rem 0.32rem 0;
  margin: 0 0.32rem;
}

.hero-heading {
  font-size: 0.44rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
}

.header-img {
  width: 3.08rem;
  margin-left: -0.4rem;
}

/* 通用卡片样式 */
.card {
  margin: 0.16rem 0.24rem 0;
  border-radius: 0.12rem;
  background: #fff;
  padding: 0.24rem;
}

/* 分割线 */
.divider {
  height: 1px;
  width: 100%;
  background: var(--divider-color);
  margin: 0.2rem 0;
}

/* 企业信息卡片 */
.info-card {
  padding: 0.32rem;
}

.company-name {
  font-size: 0.36rem;
  font-weight: bold;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-name {
  font-size: 0.32rem;
  color: var(--text-dark);
}

.contact-row {
  margin-top: 0.24rem;
  margin-bottom: 0.06rem;
  font-size: 0.28rem;
  color: #181818;
}

.text-blue {
  color: var(--primary-color);
}

.text-red {
  color: var(--red-color);
}

.font-bold {
  font-weight: bold;
}

.btn-call {
  display: inline-block;
  margin-left: 0.12rem;
  padding: 0.03rem 0.18rem;
  background: var(--primary-color);
  color: #fff;
  font-size: 0.26rem;
  border-radius: 0.24rem;
}

.warning-tag {
  display: inline-block;
  margin: 0.2rem 0;
  padding: 0.04rem 0.12rem;
  background: var(--red-color);
  color: #fff;
  font-size: 0.26rem;
  border-radius: 0.08rem;
}

.info-source {
  font-size: 0.24rem;
  color: var(--text-dark);
}

/* 卡片标题样式 */
.card-title-row {
  display: flex;
  align-items: flex-start;
  font-size: 0.36rem;
  color: var(--primary-color);
}

.title-with-underline {
  position: relative;
  z-index: 88;
  font-weight: bold;
}

.title-text {
  position: relative;
  z-index: 10;
}

.title-underline {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 9;
  height: 0.19rem;
  width: 100%;
  background: #C9E1FE;
}

.subtitle-orange {
  margin-left: 0.2rem;
  margin-top: 0.2rem;
  font-size: 0.24rem;
  color: var(--orange-color);
}

/* 关于年报卡片 */
.about-content {
  margin-top: 0.12rem;
  padding: 0.12rem;
  background: var(--bg-light-blue);
  border-radius: 0.1rem;
  font-size: 0.27rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: var(--text-dark);
}

.about-tip {
  margin-top: 0.3rem;
  font-size: 0.24rem;
  color: #222;
}

.about-tip a {
  color: #666;
}

/* 服务选项 */
.service-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.2rem;
  padding: 0.2rem;
  border-radius: 0.13rem;
  border: 1px solid transparent;
}

.service-item.type0 {
  background: linear-gradient(135deg, #4a9ff8 0%, #1f81f8 100%);
}

.service-item.type1 {
  background: linear-gradient(135deg, #f8a04a 0%, #f87a1f 100%);
}

.service-item.type2 {
  background: linear-gradient(135deg, #7a8ff8 0%, #5a57ff 100%);
}

.service-item.active {
  border: 2px solid var(--primary-color);
  box-shadow: 0 0 0.1rem rgba(31, 129, 248, 0.3);
}

.service-badge {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0.64rem;
}

.check-icon {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0.32rem;
}

.service-info {
  position: relative;
  z-index: 9;
}

.service-title {
  font-size: 0.32rem;
  color: #fff;
}

.service-desc {
  margin-top: 0.08rem;
  font-size: 0.24rem;
  color: #fff;
}

.service-price {
  position: relative;
  z-index: 9;
  display: flex;
  align-items: center;
}

.price-old {
  margin-right: 0.24rem;
  font-size: 0.23rem;
  color: #D0D0D0;
  text-decoration: line-through;
}

.price-new {
  font-size: 0.35rem;
  color: #fff;
}

/* 支付方式 */
.payment-section {
  display: flex;
  justify-content: flex-start;
  margin-top: 0.24rem;
}

.payment-item {
  position: relative;
  display: flex;
  align-items: center;
  width: 3rem;
  padding: 0.24rem;
  background: #F9F9F9;
  border-radius: 0.12rem;
  border: 1px solid transparent;
}

.payment-item.active {
  border-color: var(--primary-color);
}

.payment-item .check-icon {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0.32rem;
}

.payment-icon {
  width: 0.6rem;
}

.payment-item span {
  margin-left: 0.24rem;
  font-size: 0.27rem;
}

/* 支付按钮 */
.pay-btn {
  margin-top: 0.24rem;
  padding: 0.22rem 0;
  background: var(--primary-color);
  border-radius: 0.5rem;
  text-align: center;
  color: #fff;
  font-size: 0.32rem;
  cursor: pointer;
}

/* 协议勾选 */
.agreement-row {
  display: flex;
  align-items: flex-start;
  margin-top: 0.24rem;
  font-size: 0.28rem;
}

.checkbox-wrapper {
  position: relative;
  display: inline-block;
  width: 0.4rem;
  height: 0.4rem;
  margin-right: 0.1rem;
  transform: scale(0.78);
}

.checkbox-wrapper input {
  opacity: 0;
  width: 0;
  height: 0;
}

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  width: 0.4rem;
  height: 0.4rem;
  border: 1px solid #ccc;
  border-radius: 0.04rem;
  background: #fff;
}

.checkbox-wrapper input:checked ~ .checkmark {
  background: var(--primary-color);
  border-color: var(--primary-color);
}

.checkbox-wrapper input:checked ~ .checkmark:after {
  content: '';
  position: absolute;
  left: 0.14rem;
  top: 0.08rem;
  width: 0.1rem;
  height: 0.18rem;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.agreement-text {
  color: var(--text-dark);
}

/* 表格卡片 */
.table-container {
  border: 1px solid var(--primary-color);
  border-radius: 0.08rem;
  padding: 0.24rem;
}

.table-title {
  text-align: center;
  font-size: 0.32rem;
  font-weight: bold;
}

.table-header {
  display: flex;
  margin-top: 0.3rem;
  padding: 0.05rem 0;
  background: var(--bg-light-blue);
  font-size: 0.28rem;
  font-weight: bold;
  color: var(--text-dark);
}

.table-cell {
  flex: 1;
  text-align: center;
}

.table-row {
  display: flex;
  margin-top: 0.24rem;
  padding: 0.05rem 0;
  font-size: 0.28rem;
  color: var(--text-dark);
}

.table-row-divider {
  margin-top: 0.24rem;
  height: 1px;
  width: 100%;
  background: var(--divider-color);
}

.table-tip {
  margin-top: 0.3rem;
  font-size: 0.24rem;
  color: #444;
}

/* 流程卡片 */
.flow-card {
  padding: 0;
  padding-bottom: 0.32rem;
}

.flow-header {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 0.76rem;
  background: var(--bg-light-blue);
  border-radius: 0.12rem 0.12rem 0 0;
  font-size: 0.32rem;
  font-weight: bold;
  color: var(--text-dark);
}

.flow-steps {
  margin: 0.32rem 0;
  text-align: center;
  font-size: 0.3rem;
  font-weight: bold;
  color: var(--text-dark);
}

.flow-desc {
  margin: 0 0.32rem;
  padding: 0.12rem 0.32rem;
  background: var(--bg-light-blue);
  border-radius: 0.46rem;
  font-size: 0.28rem;
  color: #777;
  text-align: center;
}

/* 案例卡片 */
.case-card {
  padding: 0;
}

.case-header {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 0.76rem;
  background: var(--bg-light-blue);
  border-radius: 0.12rem 0.12rem 0 0;
  font-size: 0.32rem;
  font-weight: bold;
  color: var(--text-dark);
}

.scroll-container {
  height: 3rem;
  overflow: hidden;
}

.scroll-content {
  animation: scrollUp 60s linear infinite;
}

@keyframes scrollUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}

.case-item {
  display: flex;
  padding: 0.24rem;
  font-size: 0.23rem;
  color: var(--text-dark);
}

.case-item .case-time {
  width: 40%;
  text-align: left;
}

.case-item .case-time .phone {
  font-size: 0.22rem;
}

.case-item .case-company {
  width: 20%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.case-item .case-name {
  width: 20%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.case-item .case-status {
  width: 20%;
  text-align: center;
}

.case-divider {
  height: 1px;
  width: 100%;
  background: var(--divider-color);
}

/* 风险卡片 */
.risk-card {
  position: relative;
}

.risk-header-icon {
  position: absolute;
  right: 0.32rem;
  top: -0.3rem;
  width: 0.88rem;
}

.risk-item {
  display: flex;
  align-items: center;
  margin-top: 0.26rem;
  padding: 0.16rem;
  background: var(--bg-light-blue);
  border-radius: 0.1rem;
  font-size: 0.27rem;
  line-height: 1.5;
  color: var(--text-dark);
}

.risk-item img {
  width: 0.5rem;
  margin-right: 0.2rem;
  flex-shrink: 0;
}

/* 特别提醒卡片 */
.remind-content {
  margin-top: 0.26rem;
  padding: 0.16rem;
  background: var(--bg-light-blue);
  border-radius: 0.1rem;
  font-size: 0.27rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: var(--text-dark);
}

/* 为什么选择我们 */
.why-card {
  padding: 0;
  padding-bottom: 0.4rem;
}

.why-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.2rem 0;
  background: var(--bg-light-blue);
  border-radius: 0.12rem 0.12rem 0 0;
  font-size: 0.36rem;
  font-weight: bold;
  color: var(--text-dark);
}

.why-content {
  padding: 0.2rem;
}

.why-subtitle {
  margin-bottom: 0.4rem;
  text-align: center;
  font-size: 0.28rem;
  color: #555;
}

/* 特色卡片 */
.feature-row {
  display: flex;
  justify-content: space-between;
  gap: 0.12rem;
  margin-bottom: 0.4rem;
}

.feature-item {
  flex: 1;
  padding: 0.2rem 0.12rem;
  text-align: center;
  border: 1px solid var(--bg-light-blue);
  border-radius: 0.12rem;
}

.feature-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 0.6rem;
  height: 0.6rem;
  margin: 0 auto 0.2rem;
  background: var(--bg-icon-blue);
  border-radius: 50%;
}

.feature-icon svg {
  width: 0.36rem;
  height: 0.36rem;
}

.feature-text {
  font-size: 0.22rem;
  color: #3A414B;
  line-height: 1.5;
}

/* 统计数据 */
.stats-row {
  display: flex;
  flex-wrap: wrap;
}

.stat-item {
  display: flex;
  align-items: center;
  width: 50%;
  padding: 0.2rem 0.16rem;
  margin-bottom: 0.24rem;
}

.stat-item.border-right {
  border-right: 1px solid #f5f5f5;
}

.stat-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 0.8rem;
  height: 0.8rem;
  margin-right: 0.2rem;
  background: var(--bg-icon-blue);
  border-radius: 50%;
  flex-shrink: 0;
}

.stat-icon svg {
  width: 0.48rem;
  height: 0.48rem;
}

.stat-info {
  flex: 1;
}

.stat-number {
  margin-bottom: 0.08rem;
  font-size: 0.4rem;
  font-weight: bold;
  color: var(--primary-color);
}

.stat-label {
  font-size: 0.26rem;
  color: var(--text-gray);
}

/* 服务保障 */
.guarantee-card {
  padding: 0;
  padding-bottom: 0.2rem;
}

.guarantee-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.2rem 0;
  background: var(--bg-light-blue);
  border-radius: 0.12rem 0.12rem 0 0;
  font-size: 0.36rem;
  font-weight: bold;
  color: var(--text-dark);
}

.guarantee-content {
  padding: 0 0.2rem;
}

.guarantee-row {
  display: flex;
  gap: 0.16rem;
  margin-bottom: 0.16rem;
}

.guarantee-row:first-child {
  margin-top: 0.16rem;
}

.guarantee-item {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0.24rem;
  background: var(--bg-light-blue);
  border-radius: 0.12rem;
}

.guarantee-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 0.8rem;
  height: 0.8rem;
  margin-right: 0.2rem;
  background: var(--bg-icon-blue);
  border-radius: 50%;
  flex-shrink: 0;
}

.guarantee-icon svg {
  width: 0.48rem;
  height: 0.48rem;
}

.guarantee-info {
  flex: 1;
}

.guarantee-title {
  margin-bottom: 0.08rem;
  font-size: 0.32rem;
  font-weight: bold;
  color: #3A414B;
}

.guarantee-desc {
  font-size: 0.24rem;
  color: var(--text-light-gray);
}

/* 底部备案信息 */
.footer-section {
  margin: 0.36rem 0.32rem;
  padding: 0.1rem 0.32rem 1rem;
}

.footer-row {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.12rem 0;
  font-size: 0.3rem;
  color: #494949;
}

.footer-row img {
  width: 0.48rem;
  height: 0.48rem;
  margin: 0 0.12rem;
}

.footer-row a {
  color: #494949;
}

/* 底部固定按钮 */
.bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 98;
  padding: 0.24rem 0.36rem;
  background: #fff;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

.bottom-btn {
  padding: 0.22rem 0;
  background: var(--primary-color);
  border-radius: 0.5rem;
  text-align: center;
  color: #fff;
  font-size: 0.32rem;
  cursor: pointer;
  animation: scaleBtn 1.5s ease-in-out infinite;
}

@keyframes scaleBtn {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.02);
  }
}

/* 右侧悬浮按钮 */
.float-btns {
  position: fixed;
  right: 0;
  top: 1.6rem;
  z-index: 98;
}

.float-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.12rem 0.16rem;
  margin-bottom: 0.1rem;
  background: #fff;
  border-radius: 0.32rem 0 0 0.32rem;
  box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.1);
}

.float-item img {
  width: 0.7rem;
  margin-bottom: 0.08rem;
}

.float-item:first-child img {
  width: 0.88rem;
}

.float-label {
  height: 0.3rem;
  padding: 0 0.06rem;
  border-radius: 0.15rem;
  font-size: 0.24rem;
  line-height: 0.3rem;
  color: #fff;
}

.float-label.gradient1 {
  background: linear-gradient(90deg, rgb(148, 201, 255) 0%, rgb(73, 107, 255) 100%);
}

.float-label.gradient2 {
  background: linear-gradient(90deg, rgb(123, 198, 255) 0%, rgb(90, 87, 255) 100%);
}

/* 投诉弹窗样式 */
.complaint-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  background: #EAF3FF;
  overflow-y: auto;
}

.complaint-modal.show {
  display: block;
}

.complaint-content {
  position: relative;
  padding: 0.32rem;
  min-height: 100vh;
}

.complaint-header {
  text-align: center;
  font-size: 0.36rem;
  font-weight: bold;
  color: #000;
  padding: 0.32rem 0;
}

.complaint-close {
  position: absolute;
  top: 0.32rem;
  right: 0.32rem;
  font-size: 0.48rem;
  color: #999;
  cursor: pointer;
  line-height: 1;
}

.complaint-company-card {
  margin: 0.32rem 0;
  padding: 0.32rem;
  background: #fff;
  border-radius: 0.12rem;
}

.complaint-company-name {
  font-size: 0.36rem;
  font-weight: bold;
  color: var(--primary-color);
  margin-bottom: 0.16rem;
}

.complaint-owner {
  font-size: 0.28rem;
  color: #000;
}

.complaint-form-card {
  margin: 0.24rem 0;
  padding: 0.28rem 0.28rem 0.3rem;
  background: #fff;
  border-radius: 0.12rem;
}

.form-group {
  margin-bottom: 0.16rem; /* 再收紧一点，让上下两行更贴近 */
}

.form-group:last-child {
  margin-bottom: 0;
}

.form-label {
  font-size: 0.28rem;
  color: #000;
  margin-bottom: 0.2rem;
}

.form-label .required {
  color: var(--primary-color);
  font-weight: bold;
  margin-right: 0.08rem;
}

.form-group {
  position: relative;
}

.form-select {
  display: flex;
  align-items: center;
  padding: 0.18rem 0.28rem;
  border-radius: 0.08rem;
  border: 1px solid #e5e5e5;
  background: #fff;
  cursor: pointer;
}

.select-text {
  flex: 1;
  font-size: 0.28rem;
  color: #999;
}

.select-text.selected {
  color: #000;
}

.select-arrow,
.select-clear {
  font-size: 0.32rem;
  color: #ccc;
}

.select-arrow {
  margin-left: 0.12rem;
  transform: rotate(90deg);
}

.select-clear {
  margin-left: 0.12rem;
  display: none;
}

.form-select.has-value .select-arrow {
  display: none;
}

.form-select.has-value .select-clear {
  display: inline-block;
}

.form-select.open .select-arrow {
  transform: rotate(-90deg);
}

.select-options {
  display: none;
  position: absolute;
  left: 0.04rem;
  right: 0.04rem;
  top: 100%;
  margin-top: 0.14rem;
  background: #fff;
  border-radius: 0.14rem;
  border: 1px solid #EBEEF5; /* 参考 uni-select__selector 边框色 */
  box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.1); /* 约等于 0 2px 12px rgba(0,0,0,.1) */
  overflow: hidden;
  z-index: 10;
}

.select-options.show {
  display: block;
}

/* 顶部小三角形，贴近图二效果 */
.select-options::before {
  content: '';
  position: absolute;
  top: -0.12rem;
  left: 0.5rem;
  width: 0;
  height: 0;
  border-left: 0.12rem solid transparent;
  border-right: 0.12rem solid transparent;
  border-bottom: 0.12rem solid #fff;
}

/* 小三角的阴影，让衔接更自然 */
.select-options::after {
  content: '';
  position: absolute;
  top: -0.12rem;
  left: 0.5rem;
  width: 0;
  height: 0;
  border-left: 0.12rem solid transparent;
  border-right: 0.12rem solid transparent;
  border-bottom: 0.12rem solid rgba(15, 35, 95, 0.03);
  filter: blur(1px);
}

.select-option {
  padding: 0.24rem;
  font-size: 0.28rem;
  color: #333;
  cursor: pointer;
}

.select-option:last-child {
  border-bottom: none;
}

.select-option:active {
  background: #EAF3FF;
}

.form-input {
  width: 100%;
  padding: 0.2rem 0.26rem; /* 减小输入框高度 */
  font-size: 0.27rem;
  border-radius: 0.08rem;
  border: 1px solid #E5E5E5;
  outline: none;
  background: #fff;
  box-sizing: border-box;
}

.form-input::placeholder {
  color: #999;
}

.form-textarea {
  width: 100%;
  min-height: 2.4rem;
  padding: 0.24rem;
  font-size: 0.28rem;
  border: 1px solid #eee;
  border-radius: 0.08rem;
  outline: none;
  resize: none;
  background: transparent;
}

.form-textarea::placeholder {
  color: #999;
}

.complaint-submit-btn {
  margin: 0.48rem 0.32rem;
  padding: 0.28rem 0;
  background: var(--primary-color);
  border-radius: 0.48rem;
  text-align: center;
  font-size: 0.32rem;
  color: #fff;
  cursor: pointer;
}

.complaint-submit-btn:active {
  opacity: 0.9;
}

/* 协议弹窗样式 */
.agreement-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
}

.agreement-modal.show {
  display: block;
}

.agreement-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}

.agreement-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  max-width: 6.4rem;
  max-height: 80vh;
  background: #fff;
  border-radius: 0.16rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.agreement-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.32rem;
  position: relative;
}

.agreement-title {
  font-size: 0.36rem;
  font-weight: bold;
  color: #000;
}

.agreement-close {
  position: absolute;
  right: 0.32rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.48rem;
  color: #999;
  cursor: pointer;
  line-height: 1;
}

.agreement-body {
  flex: 1;
  padding: 0 0.32rem;
  overflow-y: auto;
  max-height: 6.4rem;
  font-size: 0.28rem;
  line-height: 1.8;
  color: #333;
  letter-spacing: 0.02em;
}

.agreement-body p {
  margin-bottom: 0.24rem;
  text-indent: 0;
}

.agreement-footer {
  padding: 0.32rem;
}

.agreement-btn {
  padding: 0.28rem 0;
  background: var(--primary-color);
  border-radius: 0.48rem;
  text-align: center;
  font-size: 0.32rem;
  color: #fff;
  cursor: pointer;
}

.agreement-btn:active {
  opacity: 0.9;
}

/* 支付确认弹窗样式 */
.pay-confirm-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
}

.pay-confirm-modal.show {
  display: block;
}

.pay-confirm-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}

.pay-confirm-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  max-width: 6.4rem;
  background: #fff;
  border-radius: 0.16rem;
  overflow: hidden;
}

.pay-confirm-header {
  display: flex;
  align-items: center;
  padding: 0.28rem 0.32rem;
  border-bottom: 1px solid #f0f0f0;
}

.pay-confirm-icon {
  width: 0.4rem;
  height: 0.4rem;
  margin-right: 0.12rem;
  border-radius: 50%;
  background: #ff4d4f;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.32rem;
  flex-shrink: 0;
}

.pay-confirm-title {
  flex: 1;
  font-size: 0.27rem;
  color: #ff4d4f;
  line-height: 1.4;
  font-weight: bold;
}

.pay-confirm-close {
  font-size: 0.36rem;
  color: #999;
  cursor: pointer;
}

.pay-confirm-body {
  padding: 0rem 0.32rem 0.18rem;
}

.pay-confirm-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.22rem 0.24rem;
  border: none;
  border-radius: 0.12rem;
  background: #f5f5f5;
  font-size: 0.28rem;
  outline: none;
}

.pay-confirm-input::placeholder {
  color: #999;
}

.pay-confirm-agree-row {
  margin-top: 0.3rem;
  display: flex;
  align-items: center;
}

.pay-confirm-agree-text {
  font-size: 0.26rem;
  color: var(--text-dark);
}

.pay-confirm-footer {
  padding: 0 0.32rem 0.3rem;
}

.pay-confirm-btn {
  margin-top: 0.12rem;
  padding: 0.21rem 0;
  text-align: center;
  border-radius: 0.44rem;
  font-size: 0.3rem;
  color: #fff;
  background: linear-gradient(90deg, #1f81f8 0%, #3aa3ff 100%);
  box-shadow: 0 0.06rem 0.12rem rgba(31, 129, 248, 0.3);
}

.pay-confirm-btn:active {
  opacity: 0.9;
}

/* 隐私政策弹窗样式 */
.privacy-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1100;
}

.privacy-modal.show {
  display: block;
}

.privacy-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}

.privacy-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  max-width: 6.4rem;
  max-height: 80vh;
  background: #fff;
  border-radius: 0.16rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.privacy-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.32rem;
  position: relative;
}

.privacy-title {
  font-size: 0.36rem;
  font-weight: bold;
  color: #000;
}

.privacy-close {
  position: absolute;
  right: 0.32rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.48rem;
  color: #999;
  cursor: pointer;
  line-height: 1;
}

.privacy-body {
  flex: 1;
  padding: 0 0.32rem;
  overflow-y: auto;
  max-height: 6.4rem;
  font-size: 0.28rem;
  line-height: 1.8;
  color: #333;
  letter-spacing: 0.02em;
}

.privacy-body p {
  margin-bottom: 0.24rem;
}

.privacy-footer {
  padding: 0.32rem;
}

.privacy-btn {
  padding: 0.28rem 0;
  background: var(--primary-color);
  border-radius: 0.48rem;
  text-align: center;
  font-size: 0.32rem;
  color: #fff;
  cursor: pointer;
}

.privacy-btn:active {
  opacity: 0.9;
}

/* 全局提示 Toast */
.toast {
  position: fixed;
  left: 50%;
  top: 1rem;
  transform: translateX(-50%);
  padding: 0.22rem 0.4rem;
  max-width: 80%;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 0.26rem;
  line-height: 1.5;
  border-radius: 0.32rem;
  text-align: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(-0.1rem);
}

.toast-success {
  background: rgba(82, 196, 26, 0.95);
}

.toast-error {
  background: rgba(245, 34, 45, 0.95);
}
