/**
 * @file
 * 付费会员页面样式
 * Apple风格设计 - 简洁优雅
 */

/* ========== 页面容器 ========== */
.layout-vip-member {
  min-height: 100vh;
  background: #f5f5f7;
}

.vip-member-main {
  padding-top: var(--nav-height);
  min-height: calc(100vh - 60px);
}

.vip-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;  /* 顶部40px + 主内容区的56px = 96px总间距 */
}

/* ========== 页面标题 ========== */
.vip-header {
  text-align: center;
  margin-bottom: 60px;
  padding-top: 40px;
}

.vip-header-content {
  max-width: 600px;
  margin: 0 auto;
}

.vip-title {
  font-size: 48px;
  font-weight: 700;
  color: #1d1d1f;
  letter-spacing: -0.003em;
  margin: 0 0 12px 0;
  line-height: 1.08349;
}

.vip-subtitle {
  font-size: 21px;
  line-height: 1.381;
  font-weight: 400;
  color: #6e6e73;
  margin: 0;
}

/* ========== 主卡片 ========== */
.vip-card {
  margin-bottom: 40px;
}

.vip-card-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* ========== 左侧：价格卡片 ========== */
.vip-pricing-section {
  perspective: 1000px;
}

.vip-price-card {
  background: white;
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.vip-price-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.vip-price-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.vip-price-label {
  font-size: 24px;
  font-weight: 600;
  color: #1d1d1f;
  letter-spacing: -0.002em;
}

.vip-duration {
  font-size: 14px;
  color: white;
  padding: 6px 12px;
  background: #0066CC;
  border-radius: 12px;
}

.vip-price-amount {
  text-align: center;
  padding: 32px 0;
}

.vip-original-price {
  font-size: 21px;
  color: #86868b;
  text-decoration: line-through;
  margin-right: 12px;
}

.vip-current-price {
  font-size: 56px;
  font-weight: 700;
  color: #1d1d1f;
  letter-spacing: -0.005em;
  line-height: 1.07;
}

.vip-price-unit {
  font-size: 21px;
  font-weight: 400;
  color: #6e6e73;
  margin-left: 8px;
}

.vip-price-features {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
  padding: 24px;
  background: #f5f5f7;
  border-radius: 16px;
}

.vip-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  color: #1d1d1f;
}

.vip-feature-icon {
  width: 20px;
  height: 20px;
  color: #34c759;
  flex-shrink: 0;
}

.vip-action {
  margin-bottom: 20px;
}

/* 隐藏表单的标签和容器 */
.vip-action label,
.vip-action .field--name-purchasable,
.vip-action .field--name-quantity {
  display: none;
}

/* 自定义按钮样式 */
.vip-action input[type="submit"],
.vip-action button[type="submit"] {
  width: 100%;
  padding: 18px 32px;
  font-size: 17px;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.vip-action input[type="submit"]:hover,
.vip-action button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.vip-action input[type="submit"]:active,
.vip-action button[type="submit"]:active {
  transform: translateY(0);
}

.vip-guarantee {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  color: #86868b;
  margin: 0;
}

.vip-guarantee-icon {
  width: 16px;
  height: 16px;
}

/* ========== 右侧：会员权益 ========== */
.vip-benefits-section {
  background: white;
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.vip-benefits-title {
  font-size: 24px;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0 0 32px 0;
  letter-spacing: -0.002em;
}

.vip-benefits-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.vip-benefit-item {
  display: flex;
  gap: 20px;
  padding: 24px;
  border-radius: 16px;
  transition: background 0.2s ease;
}

.vip-benefit-item:hover {
  background: #f5f5f7;
}

.vip-benefit-icon-wrapper {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0066CC;
  border-radius: 14px;
  flex-shrink: 0;
}

.vip-benefit-icon {
  width: 28px;
  height: 28px;
  color: white;
}

.vip-benefit-content {
  flex: 1;
}

.vip-benefit-title {
  font-size: 17px;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0 0 6px 0;
}

.vip-benefit-description {
  font-size: 15px;
  line-height: 1.47059;
  color: #6e6e73;
  margin: 0;
}

/* ========== 详细说明（已改为折叠卡片）========== */
/* 旧的样式已替换为折叠卡片样式 */

/* 详细说明内容样式（用于折叠卡片内部） */
.vip-details-content {
  font-size: 17px;
  line-height: 1.47059;
  color: #1d1d1f;
}

.vip-details-content h2,
.vip-details-content h3 {
  font-size: 21px;
  font-weight: 600;
  margin-top: 32px;
  margin-bottom: 16px;
  color: #1d1d1f;
}

.vip-details-content h2:first-child,
.vip-details-content h3:first-child {
  margin-top: 0;
}

.vip-details-content p {
  margin-bottom: 16px;
}

.vip-details-content ul,
.vip-details-content ol {
  margin-bottom: 24px;
  padding-left: 24px;
}

.vip-details-content li {
  margin-bottom: 8px;
}

/* ========== 响应式设计 ========== */

/* 平板 */
@media (max-width: 1024px) {
  .vip-card-inner {
    grid-template-columns: 1fr;
  }

  .vip-title {
    font-size: 40px;
  }
}

/* 手机 */
@media (max-width: 768px) {
  .vip-container {
    padding: 24px 16px;
  }

  .vip-header {
    padding-top: 24px;
    margin-bottom: 32px;
  }

  .vip-title {
    font-size: 32px;
  }

  .vip-subtitle {
    font-size: 17px;
  }

  .vip-price-card,
  .vip-benefits-section,
  .vip-details-card {
    padding: 24px;
    border-radius: 18px;
  }

  .vip-current-price {
    font-size: 48px;
  }

  .vip-benefit-item {
    padding: 16px;
  }

  .vip-benefit-icon-wrapper {
    width: 48px;
    height: 48px;
  }

  .vip-benefit-icon {
    width: 24px;
    height: 24px;
  }

  .vip-benefit-title {
    font-size: 15px;
  }

  .vip-benefit-description {
    font-size: 14px;
  }

  .vip-details-content {
    font-size: 15px;
  }

  .vip-details-content h2,
  .vip-details-content h3 {
    font-size: 18px;
  }
}

/* 小屏手机 */
@media (max-width: 375px) {
  .vip-title {
    font-size: 28px;
  }

  .vip-current-price {
    font-size: 40px;
  }

  .vip-price-features {
    padding: 16px;
  }

  .vip-feature {
    font-size: 14px;
  }
}

/* ========== 折叠卡片样式 ========== */
.vip-accordion {
  margin-bottom: 40px;
}

.vip-accordion-item {
  background: white;
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.vip-accordion-item:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.vip-accordion-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 32px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.2s ease;
}

.vip-accordion-header:hover {
  background: #f5f5f7;
}

.vip-accordion-header-content {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.vip-accordion-icon {
  width: 24px;
  height: 24px;
  color: #667eea;
  flex-shrink: 0;
}

.vip-accordion-title {
  font-size: 17px;
  font-weight: 600;
  color: #1d1d1f;
  flex: 1;
}

.vip-accordion-hint {
  font-size: 14px;
  color: #86868b;
  font-weight: 400;
}

.vip-accordion-chevron {
  width: 20px;
  height: 20px;
  color: #86868b;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.vip-accordion-header--active .vip-accordion-chevron {
  transform: rotate(180deg);
}

.vip-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.vip-accordion-content .vip-details-content {
  padding: 0 32px 32px 32px;
  max-width: none;
}

/* 响应式：平板 */
@media (max-width: 768px) {
  .vip-accordion-header {
    padding: 20px 24px;
  }

  .vip-accordion-content .vip-details-content {
    padding: 0 24px 24px 24px;
  }

  .vip-accordion-title {
    font-size: 15px;
  }

  .vip-accordion-hint {
    font-size: 13px;
  }
}

/* ========== 购买按钮区域 ========== */
.vip-action {
  margin-bottom: 20px;
}

/* 隐藏表单的标签和容器 */
.vip-action label,
.vip-action .field--name-purchasable,
.vip-action .field--name-quantity {
  display: none;
}

/* 按钮基础样式 */
.vip-action-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 32px;
  font-size: 17px;
  font-weight: 600;
  color: white;
  background: #0066CC;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
}

.vip-action-btn:hover {
  background: #0052A3;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 102, 204, 0.4);
}

.vip-action-btn:active {
  transform: translateY(0);
}

.vip-action-btn--disabled {
  background: #34C759;
  color: white;
  cursor: default;
  box-shadow: none;
}

.vip-action-btn--disabled:hover {
  transform: none;
  box-shadow: none;
  background: #34C759;
  color: white;
}

.vip-action-btn--renew {
  background: #0066CC;
}

.vip-action-btn--renew:hover {
  background: #0052A3;
  color: white;
  box-shadow: 0 6px 20px rgba(0, 102, 204, 0.4);
}

.vip-action-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* 提示信息 */
.vip-action-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  color: #86868b;
  margin: 12px 0 0 0;
  text-align: center;
  line-height: 1.5;
}

.vip-action-hint--success {
  color: #34c759;
  font-weight: 500;
  background: #f0fdf4;
  padding: 12px;
  border-radius: 12px;
}

.hint-icon {
  width: 16px;
  height: 16px;
  color: #34c759;
  flex-shrink: 0;
}

/* 调整表单提交按钮样式以匹配自定义按钮 */
.vip-action input[type="submit"],
.vip-action button[type="submit"] {
  width: 100%;
  padding: 18px 32px;
  font-size: 17px;
  font-weight: 600;
  color: white;
  background: #0066CC;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
}

.vip-action input[type="submit"]:hover,
.vip-action button[type="submit"]:hover {
  background: #0052A3;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 102, 204, 0.4);
}
