/* ─── 梦想西游官网 · 绛霞·描金 设计系统 ─────────────────────────
   主色 深绛红 #9c3346  深色 #7a2734  描金 #c8a35a 不变
   底色 暖月白  文字系 暖褐色调
   基准尺寸整体放大 ~1.45×（100% 即接近原 150% 观感）
──────────────────────────────────────────────────────────────── */
:root{
  --primary:      #9c3346;
  --deep:         #7a2734;
  --primary-tint: #f4e0e2;
  --metal:        #c8a35a;
  --metal-light:  #e6cd8a;
  --metal-deep:   #9a7a34;
  --metal-line:   #d8bd84;
  --bg-page:      #f6f0e7;
  --bg-section:   #fbf6ee;
  --white:        #ffffff;
  --text-h:       #3a262b;
  --text-b:       #5a4248;
  --text-m:       #7a6258;
  --text-s:       #9a8a84;
  --border:       rgba(140,90,70,.14);
  --shadow-sm:    0 2px 12px rgba(100,50,40,.09);
  --shadow-md:    0 6px 28px rgba(100,50,40,.14);
  --shadow-lg:    0 12px 48px rgba(100,50,40,.19);
  --radius-sm:    10px;
  --radius-md:    18px;
  --radius-lg:    28px;
  --f-sans:       "Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;
  --f-serif:      "Noto Serif SC","Microsoft YaHei",Georgia,serif;
  --grad-primary: linear-gradient(135deg,#9c3346,#7a2734);
  --grad-gold:    linear-gradient(160deg,#ecd99a,#c8a35a 52%,#8f6f30);
  --grad-page:    linear-gradient(160deg,#f8f2e8 0%,#f6f0e7 50%,#f3ead9 100%);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--f-sans);
  color:var(--text-b);
  font-size:18px;
  background:var(--grad-page);
  min-height:100vh;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:var(--f-sans);cursor:pointer;border:0;outline:0}

/* ─── Layout ─────────────────────────────────────────────── */
.wrap{max-width:1380px;margin:0 auto;padding:0 44px}

/* ─── Nav ────────────────────────────────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(248,242,232,.93);
  border-bottom:1px solid var(--border);
}
.nav .wrap{display:flex;align-items:center;height:96px;gap:12px}

.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}
.brand-icon{
  width:60px;height:60px;border-radius:15px;
  background:var(--grad-primary);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:var(--f-serif);font-size:30px;font-weight:700;
  border:1.5px solid var(--metal-line);
  box-shadow:0 3px 12px rgba(156,51,70,.3);
  flex-shrink:0;
}
.brand-name{font-family:var(--f-serif);font-size:24px;font-weight:700;color:var(--text-h);line-height:1.1}
.brand-slg{font-size:15px;color:var(--text-s);margin-top:2px}

.menu{display:flex;gap:8px;margin-left:28px;font-size:20px}
.menu a{
  padding:9px 18px;border-radius:28px;color:var(--text-m);
  transition:background .18s,color .18s;white-space:nowrap;
}
.menu a:hover{color:var(--text-h);background:rgba(156,51,70,.07)}
.menu a.on{color:var(--primary);background:var(--primary-tint);font-weight:500}

.nav-sp{flex:1}
.btn{
  font-family:var(--f-serif);font-size:19px;
  padding:12px 32px;border-radius:28px;
  cursor:pointer;white-space:nowrap;
  transition:all .18s;
}
.btn-login{
  background:transparent;
  border:1.5px solid var(--primary);
  color:var(--primary);
}
.btn-login:hover{background:var(--primary);color:#fff}
.btn-dl{
  background:var(--primary);
  color:#fff;
  border:1.5px solid var(--metal-line);
  box-shadow:0 3px 14px rgba(156,51,70,.35);
  margin-left:10px;
}
.btn-dl:hover{background:var(--deep);box-shadow:0 5px 20px rgba(156,51,70,.45);transform:translateY(-1px)}

/* logo + 响应式导航容器（桌面：collapse 行内 flex 复刻原布局；汉堡隐藏）*/
.brand-logo{height:60px;width:auto;display:block}
.nav-collapse{display:flex;align-items:center;flex:1;min-width:0;gap:12px}
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;margin-left:auto;
  background:transparent;border:0;padding:0;cursor:pointer;
}
.nav-toggle span{
  display:block;width:24px;height:2px;border-radius:2px;
  background:var(--text-h);margin:0 auto;transition:transform .25s,opacity .2s;
}

/* ─── 节标题 ─────────────────────────────────────────────── */
.sec-title{
  display:flex;align-items:center;justify-content:center;
  gap:22px;margin-bottom:58px;
}
.sec-title-text{
  font-family:var(--f-serif);
  font-size:clamp(32px,2.8vw,46px);
  font-weight:700;color:var(--text-h);
}
.sec-title-line{
  flex:1;max-width:116px;height:1px;
  background:linear-gradient(90deg,transparent,var(--metal));
}
.sec-title-line.r{background:linear-gradient(90deg,var(--metal),transparent)}
.sec-title-dot{
  width:12px;height:12px;border-radius:50%;
  background:var(--grad-primary);flex-shrink:0;
}

/* ─── 页脚 ───────────────────────────────────────────────── */
.site-footer{
  margin-top:96px;
  border-top:1px solid var(--border);
  padding:32px 0;
  text-align:center;
  font-size:16px;
  color:var(--text-s);
  background:rgba(251,246,238,.6);
}
.site-footer a{color:var(--text-s);margin:0 10px}
.site-footer a:hover{color:var(--primary)}
.footer-sep{margin:0 4px;opacity:.5}

/* ─── 通用卡片 ───────────────────────────────────────────── */
.card{
  background:var(--white);
  border-radius:var(--radius-md);
  border:1.5px solid var(--border);
  border-top:2px solid var(--metal-line);
  box-shadow:var(--shadow-sm);
}

/* ─── 分页 ───────────────────────────────────────────────── */
.pagination{
  display:flex;align-items:center;justify-content:center;
  gap:8px;margin-top:48px;
}
.pagination button{
  min-width:50px;height:50px;border-radius:var(--radius-sm);
  font-size:18px;font-family:var(--f-sans);
  background:var(--white);
  border:1.5px solid var(--border);
  color:var(--text-m);
  transition:all .16s;
}
.pagination button:hover{border-color:var(--primary);color:var(--primary)}
.pagination button.on{
  background:var(--primary);color:#fff;
  border-color:var(--primary);
}
.pagination button:disabled{opacity:.4;cursor:not-allowed}
.page-info{font-size:17px;color:var(--text-s);margin:0 12px}

/* ─── 表单 ───────────────────────────────────────────────── */
.field-row{margin-bottom:22px}
.field-row label{
  display:block;font-size:17px;color:var(--text-m);margin-bottom:8px;
}
.field-row input,.field-row select{
  width:100%;
  padding:14px 20px;
  border:1.5px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:19px;font-family:var(--f-sans);
  color:var(--text-h);
  background:var(--white);
  transition:border-color .16s;
  outline:none;
}
.field-row input:focus,.field-row select:focus{border-color:var(--primary)}

.btn-primary{
  background:var(--primary);
  color:#fff;
  border:1.5px solid var(--metal-line);
  border-radius:28px;
  padding:14px 46px;
  font-size:20px;
  font-family:var(--f-serif);
  box-shadow:0 3px 14px rgba(156,51,70,.32);
  transition:all .18s;
}
.btn-primary:hover{background:var(--deep);transform:translateY(-1px);box-shadow:0 5px 20px rgba(156,51,70,.42)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ─── 提示消息 ───────────────────────────────────────────── */
.msg-box{
  padding:17px 22px;
  border-radius:var(--radius-sm);
  font-size:18px;
  margin-top:18px;
  display:none;
}
.msg-box.ok{background:#f0faf0;border:1px solid #a8d4a0;color:#2d6b30}
.msg-box.err{background:#fdf0f0;border:1px solid #dca0a0;color:#7a2734}
.msg-box.show{display:block}

/* ─── 加载占位 ───────────────────────────────────────────── */
.loading{
  text-align:center;padding:58px 0;
  color:var(--text-s);font-size:18px;
}
.loading::after{content:"…"}

/* ─── 图片资源位系统 ─────────────────────────────────────────
   双层规则：CSS 渐变是 fallback；image2 生成的图叠在上方。
   图缺失时显示 CSS 渐变，不白屏。
   占位编号与 peitu-list 对齐：
     BG-1 hero 全屏背景        assets/bg/BG-1.jpg
     BG-2 资讯区楼层背景       assets/bg/BG-2.jpg
     BG-3 玩法区楼层背景       assets/bg/BG-3.jpg
     BG-4 二级页 page-hero     assets/bg/BG-4.jpg
     FR-1 卡片描金框 PNG       assets/frame/FR-1.png
     FR-2 资讯面板描金框       assets/frame/FR-2.png
     FR-3 hero CTA 按钮框      assets/frame/FR-3.png
     FX-1 描金分隔线/花纹      assets/fx/FX-1.png
     FX-2 印章/印泥效果        assets/fx/FX-2.png
     FX-3 页面光效/晕染        assets/fx/FX-3.png
     IC-1 下载图标             assets/icon/IC-1.png
     IC-2 客服图标             assets/icon/IC-2.png
──────────────────────────────────────────────────────────────── */

/* body 底层：图叠 CSS 渐变之上，图缺失显渐变 */
body{
  background-image:url('assets/bg/BG-page.jpg');
  background-size:cover;
  background-position:center top;
  /* background-attachment 禁止 fixed，已不用 */
}

/* 节分隔线 — FX-1 图优先，无图则用 CSS 渐变 */
.sec-divider{
  display:block;
  width:100%;height:42px;
  background-image:url('assets/fx/FX-1.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:auto 100%;
  /* CSS 兜底：半透明描金细线 */
  border-top:1px solid rgba(200,163,90,.25);
  margin:10px 0;
}
/* 图存在时隐藏兜底边框 */
.sec-divider.has-img{border-top:0}

/* 通用卡片框饰 — FR-1 border-image 叠层 */
.card{
  /* border-image: url('assets/frame/FR-1.png') 12 fill / 12px / 0 stretch; */
  /* 上方 border-image 取消注释即可替换描金边；缺图时现有 border 生效 */
  position:relative;
}

/* 描金装饰图层 — 绝对定位 PNG，onerror 隐藏 */
.fx-overlay{
  position:absolute;inset:0;
  background-image:url('assets/fx/FX-3.png');
  background-size:cover;
  background-position:center;
  pointer-events:none;
  opacity:.55;
  z-index:1;
}
/* 图缺失时 JS 会加 .no-img → display:none */
.fx-overlay.no-img{display:none}

/* ─── 响应式 ─────────────────────────────────────────────── */
@media(max-width:768px){
  .wrap{padding:0 20px}
  .nav .wrap{height:64px}
  .brand-logo{height:40px}
  /* 汉堡显示 */
  .nav-toggle{display:flex}
  /* 菜单+按钮 → 下拉抽屉 */
  .nav-collapse{
    display:none;flex-direction:column;align-items:stretch;gap:4px;
    position:absolute;top:64px;left:0;right:0;
    background:rgba(248,242,232,.98);
    border-bottom:1px solid var(--border);
    box-shadow:0 10px 26px rgba(80,40,45,.14);
    padding:10px 18px 18px;
  }
  .nav.open .nav-collapse{display:flex}
  .menu{flex-direction:column;margin-left:0;gap:2px;font-size:18px}
  .menu a{padding:13px 14px;border-radius:10px}
  .nav-sp{display:none}
  .btn{width:100%;text-align:center;font-size:17px;padding:14px 0;margin:0}
  .btn-dl{margin:6px 0 0}
  /* 汉堡 → X */
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.open .nav-toggle span:nth-child(2){opacity:0}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
