/* ============================================================
   York — 品牌定制样式（覆盖原样式表中的设计变量）
   新配色：深靛蓝 (indigo) + 紫罗兰 (violet) + 金色 (gold)
   ============================================================ */

/* ---------- 设计变量：浅色 ---------- */
:root {
  --background: 233 30% 97%;
  --foreground: 236 50% 20%;
  --card: 0 0% 100%;
  --card-foreground: 236 50% 20%;
  --popover: 0 0% 100%;
  --popover-foreground: 236 50% 20%;
  --primary: 238 47% 32%;
  --primary-foreground: 0 0% 100%;
  --secondary: 258 65% 58%;
  --secondary-foreground: 0 0% 100%;
  --muted: 233 25% 93%;
  --muted-foreground: 233 12% 45%;
  --accent: 43 98% 50%;
  --accent-foreground: 238 47% 24%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;
  --border: 233 18% 89%;
  --input: 233 18% 86%;
  --ring: 238 47% 32%;
  --lime: 43 98% 50%;

  --glass-bg: rgba(255, 255, 255, .6);
  --glass-bg-strong: rgba(255, 255, 255, .8);
  --glass-border: rgba(255, 255, 255, .72);
  --glass-border-subtle: rgba(255, 255, 255, .42);
  --glass-highlight: rgba(255, 255, 255, .95);
  --glass-highlight-strong: rgba(255, 255, 255, 1);
  --glass-shadow: rgba(43, 47, 119, .12);
  --glass-shadow-deep: rgba(43, 47, 119, .2);
  --glass-shadow-ambient: rgba(43, 47, 119, .08);
  --glass-shadow-lift: rgba(43, 47, 119, .16);
  --glass-edge-glow: rgba(245, 179, 1, .18);
}

/* ---------- 设计变量：深色 ---------- */
.dark {
  --background: 236 45% 7%;
  --foreground: 45 22% 92%;
  --card: 236 40% 10%;
  --card-foreground: 45 22% 92%;
  --popover: 236 40% 10%;
  --popover-foreground: 45 22% 92%;
  --primary: 238 47% 32%;
  --primary-foreground: 0 0% 100%;
  --secondary: 258 70% 70%;
  --secondary-foreground: 236 40% 12%;
  --muted: 236 30% 16%;
  --muted-foreground: 233 15% 66%;
  --accent: 43 98% 55%;
  --accent-foreground: 236 45% 12%;
  --border: 233 25% 22%;
  --input: 233 25% 26%;
  --ring: 43 98% 55%;
  --lime: 43 98% 55%;

  --glass-bg: rgba(16, 20, 46, .68);
  --glass-bg-strong: rgba(20, 25, 56, .86);
  --glass-border: rgba(140, 150, 220, .16);
  --glass-border-subtle: rgba(140, 150, 220, .09);
  --glass-highlight: rgba(180, 190, 255, .12);
  --glass-highlight-strong: rgba(200, 210, 255, .18);
  --glass-shadow: rgba(0, 0, 0, .4);
  --glass-shadow-deep: rgba(0, 0, 0, .55);
  --glass-shadow-ambient: rgba(0, 0, 0, .3);
  --glass-shadow-lift: rgba(0, 0, 0, .45);
  --glass-edge-glow: rgba(245, 179, 1, .14);
}

/* 深色模式下链接用浅靛蓝，保证可读性（按钮不受影响） */
.dark a.text-primary { color: hsl(233 75% 78%); }
.dark .text-accent { color: hsl(43 98% 62%); }

/* ---------- 环境光背景（新配色） ---------- */
.aurora {
  background: linear-gradient(135deg, rgba(43, 47, 119, .08) 0%, rgba(109, 40, 217, .07) 30%, rgba(245, 179, 1, .05) 60%, transparent 80%) 0% 0% / 200% 200%;
  animation: 25s ease-in-out 0s infinite normal none running aurora-drift;
}
.dark .aurora {
  background: linear-gradient(135deg, rgba(60, 70, 180, .14) 0%, rgba(120, 60, 220, .12) 30%, rgba(245, 179, 1, .06) 60%, transparent 80%) 0% 0% / 200% 200%;
}
.orb-teal {
  background: radial-gradient(circle at 25% 25%, rgba(43, 47, 119, .22) 0%, rgba(43, 47, 119, .09) 35%, transparent 68%);
  filter: blur(72px);
}
.dark .orb-teal {
  background: radial-gradient(circle at 25% 25%, rgba(80, 92, 210, .22) 0%, rgba(80, 92, 210, .08) 35%, transparent 68%);
}
.orb-lime {
  background: radial-gradient(circle at 72% 38%, rgba(245, 179, 1, .3) 0%, rgba(245, 179, 1, .12) 32%, transparent 62%);
  filter: blur(90px);
}
.dark .orb-lime {
  background: radial-gradient(circle at 72% 38%, rgba(245, 179, 1, .14) 0%, rgba(245, 179, 1, .05) 32%, transparent 62%);
}
.orb-accent {
  background: radial-gradient(circle, rgba(109, 40, 217, .22) 0%, rgba(109, 40, 217, .08) 40%, transparent 70%);
  filter: blur(64px);
}
.dark .orb-accent {
  background: radial-gradient(circle, rgba(140, 90, 230, .2) 0%, rgba(140, 90, 230, .07) 40%, transparent 70%);
}
.grid-overlay {
  background-image: linear-gradient(rgba(43, 47, 119, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(43, 47, 119, .04) 1px, transparent 1px);
  background-size: 48px 48px;
}
.dark .grid-overlay {
  background-image: linear-gradient(rgba(140, 150, 220, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(140, 150, 220, .05) 1px, transparent 1px);
}

/* ---------- 渐变标题 ---------- */
.grad-text {
  background-image: linear-gradient(120deg, hsl(238 47% 30%), hsl(258 65% 58%), hsl(43 98% 48%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.dark .grad-text {
  background-image: linear-gradient(120deg, hsl(233 85% 80%), hsl(258 85% 82%), hsl(43 98% 68%));
}

/* ---------- 区块标题小标签 ---------- */
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: hsl(var(--accent) / 1);
  background: hsl(var(--accent) / .1);
  border: 1px solid hsl(var(--accent) / .25);
  padding: .3rem .8rem;
  border-radius: 999px;
}
.dark .section-eyebrow { color: hsl(43 98% 65%); background: hsl(43 98% 45% / .12); border-color: hsl(43 98% 60% / .25); }

/* ---------- 功能卡片 ---------- */
.feature-card {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  padding: 1.1rem 1.15rem;
  border: 1px solid hsl(var(--primary) / .08);
  background: linear-gradient(155deg, hsl(var(--card) / .9), hsl(var(--card) / .55));
  box-shadow: 0 1px 2px var(--glass-shadow), 0 8px 24px -12px var(--glass-shadow-ambient), inset 0 1px 0 var(--glass-highlight);
  transition: transform .25s cubic-bezier(.23,1,.32,1), box-shadow .25s, border-color .25s;
}
.feature-card:hover {
  transform: translateY(-3px);
  border-color: hsl(var(--primary) / .25);
  box-shadow: 0 4px 12px var(--glass-shadow), 0 16px 36px -12px var(--glass-shadow-deep), inset 0 1px 0 var(--glass-highlight-strong);
}
.feature-card .icon-badge {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: .7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, hsl(238 47% 34%), hsl(258 65% 58%));
  box-shadow: 0 6px 14px -6px hsl(238 47% 34% / .5);
  margin-bottom: .7rem;
}
.dark .feature-card { background: linear-gradient(155deg, hsl(236 40% 12% / .9), hsl(236 40% 9% / .6)); }

/* ---------- 套餐卡片 ---------- */
.plan-card {
  position: relative;
  border-radius: 1.1rem;
  padding: 1.4rem 1.3rem;
  border: 2px solid hsl(var(--border));
  background: hsl(var(--card) / .85);
  cursor: pointer;
  transition: transform .22s cubic-bezier(.23,1,.32,1), box-shadow .22s, border-color .22s, background .22s;
  box-shadow: 0 1px 2px var(--glass-shadow), 0 10px 28px -16px var(--glass-shadow-ambient), inset 0 1px 0 var(--glass-highlight);
}
.plan-card:hover { border-color: hsl(var(--primary) / .35); transform: translateY(-3px); }
.plan-card.selected {
  border-color: hsl(var(--primary));
  background: linear-gradient(165deg, hsl(var(--primary) / .08), hsl(var(--primary) / .03));
  box-shadow: 0 0 0 3px hsl(var(--primary) / .18), 0 14px 34px -14px hsl(var(--primary) / .35), inset 0 1px 0 var(--glass-highlight-strong);
  transform: translateY(-3px);
}
.plan-card .plan-check {
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 999px;
  border: 2px solid hsl(var(--border));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
}
.plan-card.selected .plan-check {
  border-color: hsl(var(--primary));
  background: hsl(var(--primary));
}
.plan-card .plan-check svg { opacity: 0; transform: scale(.6); transition: all .2s; }
.plan-card.selected .plan-check svg { opacity: 1; transform: scale(1); }

.plan-popular {
  position: absolute;
  top: -0.8rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(90deg, hsl(238 47% 34%), hsl(258 65% 58%));
  border-radius: 999px;
  padding: .28rem .85rem;
  box-shadow: 0 6px 16px -6px hsl(238 47% 40% / .6);
  white-space: nowrap;
}
.plan-price {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: -.03em;
  color: hsl(var(--foreground));
}
.plan-price .cur { font-size: 1.1rem; color: hsl(var(--muted-foreground)); }

/* ---------- 金色主按钮 ---------- */
.btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-weight: 700;
  border-radius: .75rem;
  color: hsl(238 47% 22%);
  background: linear-gradient(135deg, hsl(43 98% 55%), hsl(43 98% 48%));
  box-shadow: 0 8px 20px -8px hsl(43 98% 45% / .7), inset 0 1px 0 rgba(255,255,255,.5);
  transition: transform .18s, box-shadow .18s, filter .18s;
}
.btn-gold:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -8px hsl(43 98% 45% / .8); filter: brightness(1.03); }
.btn-gold:active { transform: translateY(0) scale(.985); }

.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-weight: 600;
  border-radius: .75rem;
  color: hsl(var(--foreground));
  background: hsl(var(--card) / .7);
  border: 1px solid hsl(var(--border));
  backdrop-filter: blur(12px);
  transition: border-color .18s, background .18s, transform .18s;
}
.btn-ghost:hover { border-color: hsl(var(--primary) / .4); background: hsl(var(--card)); transform: translateY(-1px); }

/* ---------- 信任徽章 ---------- */
.trust-item {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  color: hsl(var(--muted-foreground));
  background: hsl(var(--card) / .7);
  border: 1px solid hsl(var(--border));
  border-radius: 999px;
  padding: .38rem .85rem;
  backdrop-filter: blur(10px);
}
.trust-item svg { color: hsl(43 98% 48%); }

/* ---------- 评价卡片 ---------- */
.review-card {
  border-radius: 1.1rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid hsl(var(--primary) / .08);
  background: linear-gradient(155deg, hsl(var(--card) / .92), hsl(var(--card) / .6));
  box-shadow: 0 1px 2px var(--glass-shadow), 0 8px 24px -14px var(--glass-shadow-ambient), inset 0 1px 0 var(--glass-highlight);
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
.review-card:hover { transform: translateY(-3px); border-color: hsl(var(--primary) / .22); box-shadow: 0 14px 32px -16px var(--glass-shadow-deep); }

/* ---------- CTA 横幅 ---------- */
.cta-panel {
  position: relative;
  overflow: hidden;
  border-radius: 1.4rem;
  padding: 2.5rem 1.5rem;
  text-align: center;
  background: linear-gradient(150deg, hsl(238 47% 30%), hsl(258 55% 46%) 60%, hsl(258 70% 40%));
  box-shadow: 0 24px 60px -20px hsl(238 47% 34% / .6), inset 0 1px 0 rgba(255,255,255,.25);
}
.cta-panel::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 18% 20%, rgba(255,255,255,.16), transparent 45%),
              radial-gradient(circle at 82% 80%, rgba(245,179,1,.28), transparent 45%);
  pointer-events: none;
}
.cta-panel > * { position: relative; z-index: 1; }

/* ---------- 结账摘要条 ---------- */
.summary-bar {
  border-radius: 1.1rem;
  padding: 1rem 1.2rem;
  border: 1px solid hsl(var(--primary) / .12);
  background: linear-gradient(155deg, hsl(var(--card) / .9), hsl(var(--card) / .6));
  box-shadow: 0 1px 2px var(--glass-shadow), 0 12px 30px -16px var(--glass-shadow-ambient), inset 0 1px 0 var(--glass-highlight);
}

/* ---------- 小屏适配 ---------- */
@media (max-width: 640px) {
  .plan-price { font-size: 1.7rem; }
  .cta-panel { padding: 2rem 1.1rem; }
}

/* ============================================================
   缺失实用类补充（原样式表中未编译的 Tailwind 工具类）
   ============================================================ */
.hero-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid hsl(var(--accent) / .35);
  background: hsl(var(--accent) / .12);
  color: hsl(var(--accent-foreground));
  font-size: .75rem;
  font-weight: 700;
  padding: .42rem .95rem;
}
.dark .hero-badge { color: hsl(43 98% 70%); }

.scroll-mt-20 { scroll-margin-top: 5rem; }
.w-px { width: 1px; }
.pt-10 { padding-top: 2.5rem; }
.px-9 { padding-left: 2.25rem; padding-right: 2.25rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-0\.5 { margin-bottom: .125rem; }
.pb-6 { padding-bottom: 1.5rem; }
.bottom-24 { bottom: 6rem; }
.z-\[400\] { z-index: 400; }
.text-white\/70 { color: rgb(255 255 255 / .7); }
.text-white\/80 { color: rgb(255 255 255 / .8); }
.tracking-\[0\.18em\] { letter-spacing: .18em; }
.bg-border\/70 { background-color: hsl(var(--border) / .7); }
.bg-card\/60 { background-color: hsl(var(--card) / .6); }
.bg-accent\/10 { background-color: hsl(var(--accent) / .1); }
.border-accent\/30 { border-color: hsl(var(--accent) / .3); }
.text-\[1\.3rem\] { font-size: 1.3rem; }
.backdrop-blur-sm { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.shadow-2xl { --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }

@media (min-width: 640px) {
  .sm\:pt-16 { padding-top: 4rem; }
  .sm\:py-12 { padding-top: 3rem; padding-bottom: 3rem; }
  .sm\:py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .sm\:text-\[1\.5rem\] { font-size: 1.5rem; }
}
@media (min-width: 768px) {
  .md\:gap-6 { gap: 1.5rem; }
}
.dark\:opacity-22:is(.dark *) { opacity: .22; }
.dark\:opacity-18:is(.dark *) { opacity: .18; }
.dark\:opacity-14:is(.dark *) { opacity: .14; }

.toast-fixed { position: fixed; }

@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
