/* 微信分享引导遮罩 */
.share-guide-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.78); z-index: 9999;
  display: flex; flex-direction: column; align-items: flex-end; padding: 16px 20px;
  padding-bottom: calc(20px + env(safe-area-inset-bottom));
  color: #fff; animation: shareGuideIn .22s ease;
  overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  touch-action: pan-y;
}
.share-guide-overlay.hidden {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
@keyframes shareGuideIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.share-guide-arrow {
  font-size: 48px; line-height: 1; margin-right: 8px; margin-top: 4px;
  animation: bounceArrow 1s ease infinite;
}
.share-guide-body {
  width: 100%; max-width: 320px; margin: 12px auto 0; text-align: center;
}
.share-guide-body h4 { font-size: 20px; margin: 0 0 12px; }
.share-guide-body p { font-size: 15px; line-height: 1.6; opacity: .95; margin: 0 0 16px; }
.share-guide-body img {
  max-width: 100%; border-radius: 8px; margin-bottom: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
.share-card-preview img {
  max-width: 260px; margin: 0 auto 8px; display: block;
}
.share-guide-close {
  margin-top: 20px; padding: 12px 32px; background: #07c160; color: #fff;
  border: none; border-radius: 24px; font-size: 16px; cursor: pointer;
}
.share-guide-copy {
  margin-top: 14px; text-align: left; width: 100%;
}
.share-guide-copy-label {
  font-size: 13px; opacity: .9; margin-bottom: 8px; text-align: center;
}
.share-guide-copy .share-text-area {
  width: 100%; padding: 10px; border: none; border-radius: 8px;
  font-size: 13px; line-height: 1.5; resize: none; background: rgba(255,255,255,.95);
  color: #333; font-family: inherit; box-sizing: border-box;
}
.share-guide-copy-btn {
  margin-top: 8px; width: 100%; padding: 10px; border: none; border-radius: 8px;
  background: #fff; color: #07c160; font-size: 15px; font-weight: 600; cursor: pointer;
}
.share-guide-claim {
  margin-top: 14px; padding: 12px; background: rgba(255,255,255,.12); border-radius: 10px;
  text-align: center; width: 100%;
}
.share-guide-claim-label { font-size: 13px; opacity: .9; margin: 0 0 6px; }
.share-guide-claim-name { font-size: 15px; font-weight: 600; margin: 0 0 10px; }
.share-guide-claim-btn {
  width: 100%; padding: 12px; border: none; border-radius: 24px;
  background: #ff6b35; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer;
}
.share-guide-claim-btn:disabled { opacity: .7; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes bounceArrow {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(4px, -6px); }
}

/* 活动规则 */
.activity-rules-footer {
  text-align: center; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: transparent;
}
.activity-rules-link {
  background: none; border: none; color: #888; font-size: 13px;
  text-decoration: underline; cursor: pointer; padding: 4px 8px;
}
.activity-rules-box { max-width: 340px; }
.activity-rules-box h3 { margin: 0 0 12px; font-size: 18px; }
.activity-rules-list {
  text-align: left; margin: 0 0 16px; padding-left: 18px;
  font-size: 14px; line-height: 1.65; color: #555;
}
.activity-rules-list li { margin-bottom: 8px; }
.pay-share-modal .activity-rules-link,
.visit-login-modal .activity-rules-link,
.modal-box .activity-rules-inline {
  display: block; margin-top: 10px; text-align: center;
}
