/* VIP 会员页主题（参考 doc/vip.html，深色金色） */
.vip-page{
  --ink:#080d18;
  --navy:#0e1b34;
  --navy-2:#152a4d;
  --navy-3:#1c3562;
  --gold:#c9a04a;
  --gold-light:#eed9a4;
  --gold-deep:#8a6a1f;
  --cream:#f3ecdc;
  --cream-dim:rgba(243,236,220,.62);
  --line:rgba(201,160,74,.22);
  --serif:'Noto Serif SC','Georgia',serif;
  --sans:'Noto Sans SC','Segoe UI',sans-serif;
  --num:'Manrope','Noto Sans SC',sans-serif;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
.vip-page h1,.vip-page h2,.vip-page h3,.vip-page h4,.vip-page .brand-font{font-family:var(--serif);}
.vip-page .num-font{font-family:var(--num);}
.vip-page a{color:inherit;}

.vip-page .text-gold-grad{
  background:linear-gradient(100deg,var(--gold-light) 0%,var(--gold) 45%,#a97f2c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.vip-page .btn-gold{
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-deep));
  border:none;color:#22160a;font-weight:700;letter-spacing:.02em;
  box-shadow:0 8px 24px -8px rgba(201,160,74,.55);
  transition:transform .25s ease, box-shadow .25s ease;
}
.vip-page .btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(201,160,74,.7);color:#22160a;}
.vip-page .btn-outline-gold{
  border:1px solid var(--line);color:var(--cream);background:transparent;
  transition:border-color .25s, background .25s;
}
.vip-page .btn-outline-gold:hover{border-color:var(--gold);background:rgba(201,160,74,.08);color:var(--cream);}

.vip-page .bg-ink{background:var(--ink);}
.vip-page .bg-navy{background:var(--navy);}
.vip-page .panel{
  background:linear-gradient(180deg,var(--navy-2),var(--navy));
  border:1px solid var(--line);
  border-radius:.9rem;
}
.vip-page .hairline-top{border-top:1px solid var(--line);}
.vip-page .hairline-bottom{border-bottom:1px solid var(--line);}
.vip-page .eyebrow{
  font-family:var(--num);letter-spacing:.22em;font-size:.72rem;font-weight:700;
  color:var(--gold);text-transform:uppercase;
}

.vip-page .navbar-luxe{background:rgba(8,13,24,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.vip-page .navbar-luxe .nav-link{color:var(--cream-dim);font-size:.94rem;}
.vip-page .navbar-luxe .nav-link:hover{color:var(--gold);}

.vip-page .hero-wrap{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 15% -10%,#1a2c52 0%, var(--ink) 60%);}
.vip-page .hero-map{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none;}
.vip-page .hero-map .route{fill:none;stroke:var(--gold);stroke-width:1;opacity:.55;stroke-dasharray:6 6;animation:dash 26s linear infinite;}
.vip-page .hero-map .node{fill:var(--gold-light);animation:pulse 2.6s ease-in-out infinite;}
.vip-page .hero-map .node.d2{animation-delay:.6s}
.vip-page .hero-map .node.d3{animation-delay:1.2s}
.vip-page .hero-map .node.d4{animation-delay:1.8s}
@keyframes dash{to{stroke-dashoffset:-240;}}
@keyframes pulse{0%,100%{opacity:.35;}50%{opacity:1;}}

.vip-page .mcard{
  position:relative;border-radius:1.1rem;padding:2rem;
  background:linear-gradient(135deg,#1c2a4a 0%,#0d1730 55%,#0a1226 100%);
  border:1px solid var(--line);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.65), inset 0 0 0 1px rgba(201,160,74,.06);
}
.vip-page .mcard .chip{
  width:38px;height:28px;border-radius:5px;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}

.vip-page .value-photo{border-radius:.9rem;overflow:hidden;border:1px solid var(--line);position:relative;}
.vip-page .value-photo img{width:100%;height:100%;object-fit:cover;display:block;min-height:260px;
  filter:saturate(.82) contrast(1.05);
}
.vip-page .value-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,17,32,.05) 40%, rgba(10,17,32,.85) 100%),
             linear-gradient(100deg, rgba(12,20,40,.35), rgba(201,160,74,.10));
}
.vip-page .num-ordinal{
  font-family:var(--serif);font-weight:700;font-size:3.4rem;line-height:1;
  color:transparent;-webkit-text-stroke:1.4px var(--gold);opacity:.85;
}
.vip-page .value-icon-badge{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,rgba(238,217,164,.16),rgba(201,160,74,.05));
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
}

.vip-page .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
.vip-page .reveal.in{opacity:1;transform:translateY(0);}

.vip-page .accordion-luxe .accordion-item{
  background:var(--navy);border:1px solid var(--line);border-radius:.75rem!important;
  overflow:hidden;margin-bottom:.85rem;
}
.vip-page .accordion-luxe .accordion-button{
  background:var(--navy);color:var(--cream);font-family:var(--serif);font-weight:600;font-size:1.02rem;
  box-shadow:none;
}
.vip-page .accordion-luxe .accordion-button:not(.collapsed){
  background:var(--navy-2);color:var(--gold-light);
}
.vip-page .accordion-luxe .accordion-button::after{filter:invert(78%) sepia(30%) saturate(500%) hue-rotate(0deg) brightness(1.05);}
.vip-page .accordion-luxe .accordion-body{background:var(--navy);color:var(--cream-dim);}
.vip-page .accordion-luxe .list-group-item{background:transparent;color:var(--cream-dim);border-color:var(--line);}

.vip-page .stat-num{font-family:var(--num);font-weight:800;font-size:2.1rem;color:var(--gold-light);min-height:2.4rem;display:flex;align-items:center;justify-content:center;line-height:1.1;}

.vip-page .divider-gold{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;}
.vip-page ::selection{background:var(--gold);color:#1a1204;}
.vip-page #backTop{background:linear-gradient(135deg,var(--gold-light),var(--gold));border:none;color:#22160a;}

/* 注册会员权益卡 */
.vip-page .reg-card{
  background:linear-gradient(180deg,var(--navy-2),var(--navy));
  border:1px solid var(--line);border-radius:.9rem;padding:1.5rem;height:100%;
}
.vip-page .reg-icon{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,rgba(238,217,164,.16),rgba(201,160,74,.05));
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
}

@media (prefers-reduced-motion: reduce){
  .vip-page .hero-map .route, .vip-page .hero-map .node{animation:none!important;}
  .vip-page .reveal{transition:none;opacity:1;transform:none;}
}
@media (max-width: 991px){
  .vip-page .value-photo img{min-height:200px;}
}
