/* ============================================================
   ============================================================ */

:root{
  --bg:#0a0a0a;
  --bg2:#0d0a10;
  --card:#121016;
  --card2:#18141c;
  --gold:#ff2d6f;          
  --gold2:#ff5a8f;
  --gold3:#e01b58;
  --text:#ffffff;
  --muted:#a8a2ad;
  --line:rgba(255,45,111,.20);
  --line2:rgba(255,255,255,.08);
  --radius:18px;
  --pink:#ff2d6f;
  --pink2:#ff5a8f;
  --glow:#5c0f30;
}

body, h1, h2, h3, h4, h5, h6,
.hero-title, .sec-head h2, .page-hero h1, .p-info h1, .article h1{
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",
               system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing: -.015em;
}

.hero-mz{
  position:relative;
  background:#0a0a0a;
  padding:70px 0 0;
  overflow:hidden;
}

.hero-mz::before{
  content:"";
  position:absolute; left:50%; top:-320px; transform:translateX(-50%);
  width:1400px; height:700px;
  background:radial-gradient(ellipse at center, rgba(120,10,50,.55), rgba(60,5,25,.25) 45%, transparent 70%);
  pointer-events:none;
}

.hero-mz::after{
  content:"";
  position:absolute; inset:auto 0 0 0; height:260px;
  background:linear-gradient(to top, rgba(90,8,36,.35), transparent);
  pointer-events:none;
}
.hero-mz .wrap{position:relative; z-index:2}
.hero-grid{
  display:grid; grid-template-columns:1fr auto; gap:60px;
  align-items:center; padding:40px 0 60px;
}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr; gap:40px}
}
.hero-left h1{
  font-size:clamp(38px,5vw,62px);
  font-weight:800; color:#fff; margin:0 0 18px; line-height:1.1;
}
.hero-left .hero-en{
  font-size:16px; color:#e6e2ea; margin:0 0 16px; font-weight:500;
}
.hero-left .hero-desc{
  font-size:14px; color:#9d97a4; line-height:1.95; margin:0 0 30px; max-width:420px;
}
.btn-pink{
  display:inline-block;
  background:linear-gradient(135deg,#ff3d7a,#ff1f61);
  color:#fff; font-size:15px; font-weight:600; letter-spacing:.02em;
  padding:14px 34px; border-radius:999px; text-decoration:none;
  box-shadow:0 8px 26px rgba(255,45,111,.35);
  transition:.25s;
}
.btn-pink:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 32px rgba(255,45,111,.5);
  filter:brightness(1.05);
}

.hero-cards{
  display:flex; align-items:center; gap:14px;
}
.hc{
  width:150px; aspect-ratio:9/16;
  border-radius:14px; overflow:hidden;
  background:#17131c; position:relative;
  box-shadow:0 18px 50px rgba(0,0,0,.6);
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.hc img{width:100%; height:100%; object-fit:cover; display:block}
.hc:nth-child(1){transform:translateY(-18px) rotate(-1.5deg)}
.hc:nth-child(2){transform:translateY(10px) scale(.94)}
.hc:nth-child(3){transform:translateY(-8px) rotate(1.5deg)}
.hc:hover{transform:translateY(-6px) scale(1.03)}
@media(max-width:980px){
  .hero-cards{justify-content:center}
  .hc{width:110px}
}
@media(max-width:560px){
  .hc{width:88px}
  .hc:nth-child(1),.hc:nth-child(3){display:none}
}

.stats-bar{
  position:relative; z-index:2;
  background:linear-gradient(90deg,#2a0714 0%,#651130 35%,#7a1439 50%,#651130 65%,#2a0714 100%);
  border-top:1px solid rgba(255,45,111,.18);
  border-bottom:1px solid rgba(255,45,111,.18);
  padding:34px 0;
}
.stats-bar .wrap{
  display:flex; align-items:center; justify-content:space-around; gap:20px;
}
@media(max-width:760px){ .stats-bar .wrap{flex-direction:column; gap:26px} }
.sb-item{text-align:center; color:#fff}
.sb-item b{
  display:block; font-size:34px; font-weight:800; line-height:1.1;
  font-family:system-ui,-apple-system,sans-serif; letter-spacing:-.02em;
}
.sb-item span{font-size:13px; color:rgba(255,255,255,.62); margin-top:6px; display:block}

.eyebrow{color:#ff5a8f; letter-spacing:.2em}
.gold-line{background:linear-gradient(90deg,#ff2d6f,transparent)}
.btn-gold{
  background:linear-gradient(135deg,#ff3d7a,#ff1f61);
  color:#fff; font-weight:600; border:none; border-radius:999px;
  box-shadow:0 6px 20px rgba(255,45,111,.3);
}
.btn-gold:hover{filter:brightness(1.07); box-shadow:0 10px 26px rgba(255,45,111,.45)}
.btn-line{border-radius:999px; border-color:rgba(255,45,111,.4); color:#ff5a8f}
.btn-line:hover{background:rgba(255,45,111,.1); border-color:#ff2d6f}

.main-nav a{color:#c9c4ce; border-radius:999px; padding:6px 12px}
.main-nav a:hover{color:#fff; background:rgba(255,255,255,.06)}
.main-nav a.on{color:#ff5a8f}

.pill{border-radius:999px; border-color:rgba(255,255,255,.1); color:#c9c4ce}
.pill.on{background:linear-gradient(135deg,#ff3d7a,#ff1f61); color:#fff; border-color:transparent; font-weight:600}
.pill:hover{border-color:rgba(255,45,111,.55); color:#ff5a8f}

.tag,.cat{border-radius:999px; background:rgba(255,45,111,.14); color:#ff5a8f}

.t-card,.deal-card,.hd-card,.flow-item,.vip-card,.acct-note,.acct-bills,
.acct-side,.sub-form,.sub-side,.deal-notes,.faq,.vip-table,.vip-faq,
.pf-form,.pf-note,.auth-box,.join-box{
  border-radius:var(--radius);
  border-color:rgba(255,255,255,.07);
  background:#121016;
}

.t-card{position:relative; overflow:hidden; border-radius:16px}
.t-card img,.t-card .t-cover{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.t-card:hover img,.t-card:hover .t-cover{transform:scale(1.055)}
.t-card::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:52%;
  background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.3) 55%,transparent);
  pointer-events:none; z-index:1;
}
.t-card .t-meta,.t-card .t-name{position:relative; z-index:2}

input[type=text],input[type=password],input[type=email],
input[type=number],textarea,select{
  border-radius:12px; background:#0c0b10;
  border-color:rgba(255,255,255,.09); color:#fff;
}
input:focus,textarea:focus{
  border-color:#ff2d6f; box-shadow:0 0 0 3px rgba(255,45,111,.12);
}

.section-alt{background:#0d0a10}
footer,.footer{background:#070708}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0a0a0a}
::-webkit-scrollbar-thumb{background:#2a2630;border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:#3d3846}

/* ===== meizi 风格页脚 ===== */
.marquee{overflow:hidden;background:#0a0a0a;border-top:1px solid rgba(255,45,111,.12);
  border-bottom:1px solid rgba(255,45,111,.12);padding:14px 0;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,#0a0a0a,transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,#0a0a0a,transparent)}
.marquee-track{display:flex;gap:60px;white-space:nowrap;animation:mq 38s linear infinite}
.marquee-track span{font-size:12.5px;letter-spacing:.34em;color:rgba(255,45,111,.55);
  font-weight:600;text-transform:uppercase}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.footer-3col{display:grid;grid-template-columns:2.4fr 1fr 1.2fr;gap:44px;padding:52px 0 34px}
@media(max-width:900px){.footer-3col{grid-template-columns:1fr;gap:32px}}
.f-col h4{font-size:13px;color:#8a8492;font-weight:500;margin:0 0 16px;letter-spacing:.04em}
.f-col a{display:block;font-size:13.5px;color:#c2bcc9;text-decoration:none;padding:4px 0;transition:.2s}
.f-col a:hover{color:#ff5a8f}
.city-links{display:grid;grid-template-columns:repeat(6,1fr);gap:2px 10px}
@media(max-width:1100px){.city-links{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.city-links{grid-template-columns:repeat(3,1fr)}}
.city-links a{font-size:13px;white-space:nowrap}

.f-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:22px 0 10px;border-top:1px solid rgba(255,255,255,.06);
  font-size:12.5px;color:#6f6a78;flex-wrap:wrap}
.f-legal{display:flex;gap:18px}
.f-legal a{color:#6f6a78;text-decoration:none}
.f-legal a:hover{color:#ff5a8f}
.f-disclaimer{padding:8px 0 34px;font-size:12px;color:#4e4a56;line-height:1.8}

/* ===== CTA 区（左文右图）===== */
.cta-journey{position:relative;background:#0a0a0a;padding:80px 0 90px;overflow:hidden}
.cta-journey::before{content:"";position:absolute;left:50%;top:-200px;transform:translateX(-50%);
  width:1200px;height:600px;
  background:radial-gradient(ellipse at center,rgba(110,10,48,.4),transparent 70%);pointer-events:none}
.cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;
  gap:60px;align-items:center}
@media(max-width:980px){.cta-grid{grid-template-columns:1fr;gap:40px}}
.cta-left h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;color:#fff;margin:0 0 18px;line-height:1.2}
.cta-left p{font-size:14.5px;color:#9d97a4;line-height:1.95;margin:0 0 30px;max-width:460px}
.cta-photos{display:flex;gap:16px}
.cta-photo{display:block;width:180px;aspect-ratio:3/4;border-radius:16px;overflow:hidden;
  background:#17131c;box-shadow:0 20px 60px rgba(0,0,0,.65);transition:.5s}
.cta-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cta-photo:hover{transform:translateY(-6px)}
.cta-photo:nth-child(2){margin-top:36px}
@media(max-width:760px){.cta-photo{width:130px}}

/* ===== 导航粉色胶囊 ===== */
.nav-pill{display:inline-flex;align-items:center;gap:6px;margin-left:18px;
  background:linear-gradient(135deg,#ff3d7a,#ff1f61);color:#fff;font-size:12.5px;
  font-weight:600;padding:6px 14px;border-radius:999px;text-decoration:none;
  box-shadow:0 4px 14px rgba(255,45,111,.35);white-space:nowrap}
.nav-pill:hover{filter:brightness(1.08)}
.nav-pill i{font-style:normal;opacity:.85;font-size:11px}

/* ===== 布局修复 ===== */

/* 1) 导航：禁止换行 + 收紧尺寸 */
.main-nav{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:nowrap}
.main-nav a{
  white-space:nowrap !important;
  padding:7px 10px !important;
  font-size:13.5px !important;
  letter-spacing:.02em !important;
}
.main-nav .nav-pill{
  padding:6px 13px !important;
  margin-left:10px;
  font-size:12.5px !important;
}
.header-inner{gap:18px !important}
.header-cta{padding:8px 18px !important;font-size:13px !important;white-space:nowrap}

/* 2) 页脚城市：用 flex 换行，且强制 inline */
.f-cities .city-links{
  display:flex !important;
  flex-wrap:wrap;
  gap:6px 18px;
}
.f-cities .city-links a{
  display:inline-block !important;
  width:auto !important;
  padding:2px 0 !important;
  font-size:13px !important;
  white-space:nowrap;
  flex:0 0 auto;
}
.footer-3col{
  grid-template-columns:1.1fr 0.6fr 0.7fr !important;
  gap:48px !important;
}

/* 3) 页脚其它列正常 block */
.f-col:not(.f-cities) a{display:block}

/* 4) 中等屏幕：导航收窄 */
@media(max-width:1280px){
  .main-nav a{padding:6px 7px !important;font-size:12.5px !important}
  .header-inner{gap:12px !important}
}

/* ===== 详情页/profile 强制布局（修复崩坏）===== */
.profile{
  display:grid !important;
  grid-template-columns:minmax(0,460px) minmax(0,1fr) 280px !important;
  gap:36px !important;
  align-items:start !important;
  padding:22px 0 30px !important;
}
@media(max-width:1100px){
  .profile{grid-template-columns:minmax(0,380px) minmax(0,1fr) !important}
  .profile .side-col{display:none}
}
@media(max-width:820px){
  .profile{grid-template-columns:1fr !important}
  .profile .side-col{display:block}
}
.profile .p-photo{
  display:block;
  width:100%;
  max-width:460px;
  aspect-ratio:3/4;
  max-height:620px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.profile .p-photo img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.profile .p-info{
  min-width:0;
  position:relative;
  z-index:2;
}
.profile .p-info h1{
  color:#fff !important;
  font-size:clamp(26px,2.6vw,36px) !important;
  font-weight:800;
  letter-spacing:.02em !important;
  margin:8px 0 6px !important;
  line-height:1.25;
}
.profile .p-info .eyebrow{color:#ff5a8f !important}
.profile .gold-line{
  height:2px;width:56px;margin:12px 0 20px;
  background:linear-gradient(90deg,#ff2d6f,transparent);
}
.profile .stats{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:1px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  overflow:hidden;
  margin:0 0 20px !important;
}
.profile .stats div{background:#121016;padding:12px 14px}
.profile .stats dt{font-size:11.5px;color:#8a8492;letter-spacing:.12em}
.profile .stats dd{
  margin:3px 0 0;font-size:19px;font-weight:700;color:#ff5a8f;
  font-family:system-ui,-apple-system,sans-serif;
}
.profile .stats small{font-size:11px;margin-left:2px;color:#8a8492}
.profile .tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.profile .tags span{
  padding:4px 12px;border-radius:999px;font-size:12.5px;
  background:rgba(255,45,111,.13);color:#ff5a8f;border:none;
}
.profile .bio{color:#c2bcc9 !important;font-size:14px;line-height:1.9}
.profile .bio p{margin:0 0 10px}
.profile .p-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
/* ===== meizi 风格卡片 ===== */
.mz-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#121016;
  aspect-ratio:3/4;
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.mz-card:hover{transform:translateY(-4px)}

.mz-cover{display:block;position:relative;width:100%;height:100%}
.mz-cover img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.mz-card:hover .mz-cover img{transform:scale(1.06)}

/* 底部渐变遮罩 */
.mz-shade{
  position:absolute;left:0;right:0;bottom:0;height:58%;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 45%,transparent 100%);
  pointer-events:none;
}

/* 顶部：名字 + 认证 + ID/日期 */
.mz-badge{
  position:absolute;left:12px;right:12px;top:12px;
  display:flex;align-items:center;gap:5px;
  font-size:13px;color:#fff;z-index:2;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
.mz-name{font-weight:600;letter-spacing:.01em;max-width:58%;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.mz-v{
  display:inline-flex;align-items:center;justify-content:center;
  width:14px;height:14px;border-radius:50%;
  background:#3b82f6;color:#fff;font-size:9px;font-style:normal;
  flex:0 0 auto;
}
.mz-right{
  margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px;
}
.mz-id{font-size:11px;color:rgba(255,255,255,.82);font-family:ui-monospace,monospace}
.mz-date{font-size:10.5px;color:rgba(255,255,255,.6)}

/* 底部：标签 + 数据 */
.mz-foot{
  position:absolute;left:12px;right:56px;bottom:11px;z-index:2;
  display:flex;flex-direction:column;gap:5px;
}
.mz-tags{font-size:11.5px;color:rgba(255,255,255,.72);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mz-stats{display:flex;gap:9px;font-size:12.5px;color:#fff;font-weight:500}
.mz-stats span{position:relative}
.mz-stats span+span::before{
  content:"|";position:absolute;left:-6px;color:rgba(255,255,255,.35);
}

/* 右下角：收藏 / 关注 */
.mz-acts{
  position:absolute;right:10px;bottom:10px;z-index:3;
  display:flex;gap:7px;
}
.mz-act{
  width:29px;height:29px;border-radius:50%;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;font-size:14px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.2s;padding:0;
}
.mz-act:hover{background:rgba(255,45,111,.85);border-color:transparent;transform:scale(1.08)}
.mz-act.on{background:#ff2d6f;border-color:transparent;color:#fff}

/* 城市页网格：全宽 4 列 */
.mz-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:24px 0 50px;
}
@media(max-width:1180px){.mz-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.mz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:480px){.mz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .mz-stats{font-size:11px;gap:7px}
  .mz-name{font-size:12px}}

/* 城市页去掉侧栏，全宽 */
.layout.mz-layout{display:block}
.layout.mz-layout .main-col{width:100%;max-width:none}
.layout.mz-layout .side-col{display:none}

/* ===== 城市页压缩：胶囊单行滚动 + hero 收窄 ===== */
.pills-scroll,
.pills{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto;
  overflow-y:hidden;
  gap:8px;
  padding:2px 0 12px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.pills::-webkit-scrollbar{height:5px}
.pills::-webkit-scrollbar-track{background:transparent}
.pills::-webkit-scrollbar-thumb{background:rgba(255,45,111,.3);border-radius:3px}
.pill{flex:0 0 auto !important;white-space:nowrap}

/* 城市页 hero 收窄 */
.page-hero{padding:38px 0 30px !important}
.page-hero h1{font-size:clamp(26px,3vw,38px) !important;margin:10px 0 12px !important}
.page-hero p{font-size:13.5px !important}

/* 面包屑与列表间距收紧 */
.crumb{margin:0 0 14px !important;font-size:12.5px}
.mz-grid{margin:10px 0 44px !important}

/* 城市介绍文字缩小 */
.city-intro{font-size:13px !important;line-height:1.85 !important;
  color:#8a8492 !important;margin:0 0 14px !important}
