/* paywall.css — 付费墙样式 */
.paywall-overlay {
  margin: 40px 0;
  padding: 40px 32px;
  background: #fafaf8;
  border: 1px solid #e7e3d9;
  border-radius: 16px;
  text-align: center;
}
.paywall-overlay h3 {
  font-family: "Newsreader", serif;
  font-size: 22px; font-weight: 700;
  color: #1a2520; margin: 0 0 6px;
}
.paywall-overlay .pw-sub {
  font-size: 15px; color: #6b7770; margin: 0 0 24px;
}

/* 全解锁区（置顶·主推） */
.pw-all-access {
  background: linear-gradient(135deg, #4338ca, #6366f1);
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 24px;
  color: #fff;
}
.pw-all-access .pw-badge {
  display: inline-block;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: 12px; font-weight: 700;
  padding: 3px 12px; border-radius: 20px;
  margin-bottom: 12px;
}
.pw-all-access .pw-btn-all {
  display: inline-block;
  background: #fff !important;
  color: #4f46e5 !important;
  font-size: 17px; font-weight: 800;
  padding: 14px 36px; border-radius: 12px;
  text-decoration: none !important;
  transition: transform .15s ease;
}
.pw-all-access .pw-btn-all:hover { transform: scale(1.03); }
.pw-all-access .pw-btn-all .pw-price { font-size: 28px; display: block; line-height: 1.1; }
.pw-all-access .pw-btn-all .pw-label { font-size: 14px; font-weight: 600; opacity: 1; }

/* 底部CTA横幅中的全解锁按钮（无pw-all-access父容器时使用） */
.pw-btn-all {
  background: #fff !important;
  color: #4f46e5 !important;
  font-weight: 800;
  padding: 14px 36px;
  border-radius: 12px;
  text-decoration: none !important;
  transition: transform .15s ease;
}
.pw-btn-all:hover { transform: scale(1.03); }
.pw-btn-all .pw-price { font-size: 28px; display: block; line-height: 1.1; }
.pw-btn-all .pw-label { font-size: 14px; font-weight: 600; }
.pw-all-access .pw-strike {
  font-size: 14px; color: rgba(255,255,255,.6);
  margin-top: 8px;
}
.pw-all-access .pw-strike s { margin-right: 6px; }

/* 单份解锁区 */
.pw-features {
  display: inline-block; text-align: left;
  font-size: 14px; color: #4b564f; line-height: 2;
  margin: 0 0 20px;
}
.pw-buttons {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
}
.pw-btn {
  display: inline-flex; flex-direction: column; align-items: center;
  padding: 14px 24px; border-radius: 12px; font-weight: 700;
  text-decoration: none; cursor: pointer; transition: all .15s ease;
  min-width: 160px;
}
.pw-btn-primary {
  background: #6366f1 !important; color: #fff !important; border: 2px solid #6366f1 !important;
}
.pw-btn-primary:hover { background: #4f46e5 !important; border-color: #4f46e5 !important; }
.pw-btn-secondary {
  background: #fff !important; color: #4f46e5 !important; border: 2px solid #4f46e5 !important;
}
.pw-btn-secondary:hover { background: #e0e7ff !important; border-color: #4f46e5 !important; }
.pw-btn .pw-price { font-size: 22px; font-weight: 800; line-height: 1.2; }
.pw-btn .pw-label { font-size: 12px; font-weight: 500; margin-top: 2px; }
.pw-btn-primary .pw-label { color: rgba(255,255,255,.88); }
.pw-btn-secondary .pw-label { color: #6b7770; }

.pw-single-strike {
  font-size: 13px; color: #999;
  margin-top: 8px;
}

.pw-recover {
  margin-top: 16px; font-size: 13px; color: #6b7770;
}
.pw-recover a { color: #6366f1; text-decoration: underline; font-weight: 600; }

/* 解锁后隐藏付费墙 */
body.purchased .paywall-overlay { display: none; }
body.purchased #premium-content { display: block !important; }

/* 免费标识 */
.free-badge {
  display: inline-block; background: #e0e7ff; color: #6366f1;
  font-size: 12px; font-weight: 700; padding: 3px 10px;
  border-radius: 20px; margin-bottom: 12px;
}

@media (max-width: 600px) {
  .paywall-overlay { padding: 24px 16px; margin: 28px 0; }
  .paywall-overlay h3 { font-size: 19px; }
  .pw-all-access { padding: 18px 16px; }
  .pw-all-access .pw-btn-all { padding: 12px 24px; }
  .pw-all-access .pw-btn-all .pw-price { font-size: 24px; }
  .pw-btn-all { padding: 12px 24px; }
  .pw-btn-all .pw-price { font-size: 24px; }
  .pw-buttons { flex-direction: column; align-items: center; }
  .pw-btn { width: 100%; max-width: 280px; }
}
