/* ============================================================
   首页版式样式（仅首页使用，图片资源位于 /public/statics/）
   命名统一使用短前缀，避免与公共样式冲突
   ============================================================ */
:root {
  --pg-bg: #280037;
  --bar-bg: #23004d;
  --gold: #ffd500;
  --pink: #ff009e;
  --link-gold: #ffd800;
  --footer-deep: #261c43;
  --footer-mid: #2c1a4c;
  --footer-mid-2: #3e2368;
  --footer-text: #9985b9;
  /* 首页内容区最大宽度：尽量铺满宽屏，减少两侧空白 */
  --pg-max-width: 1600px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }

body.pg-a {
  margin: 0;
  background-color: var(--pg-bg);
  color: #fff;
  font-family: 'Noto Sans Thai', 'Manrope', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body.pg-a img { max-width: 100%; height: auto; border: 0; display: block; }
body.pg-a a { color: inherit; text-decoration: none; }
body.pg-a ul { margin: 0; padding: 0; list-style: none; }

/* ---------------- 栅格（等价 Bootstrap 3 的 container / row / col-md-*） ---------------- */
.wrap { width: 100%; max-width: var(--pg-max-width); margin: 0 auto; padding: 0 15px; }
.rw { display: flex; flex-wrap: wrap; margin: 0 -15px; }

.g1, .g2, .g3, .g4,
.g6, .g9, .g12 { position: relative; width: 100%; padding: 0 15px; }

@media (min-width: 992px) {
  .g1 { width: 8.3333%; }
  .g2 { width: 16.6667%; }
  .g3 { width: 25%; }
  .g4 { width: 33.3333%; }
  .g6 { width: 50%; }
  .g9 { width: 75%; }
  .g12 { width: 100%; }
  .go1 { margin-left: 8.3333%; }
}

@media (max-width: 767px) {
  .no-xs { display: none !important; }
}

@media (max-width: 991px) {
  .no-sm { display: none !important; }
}

.uc { text-transform: uppercase; }

/* ---------------- 顶部游戏条 #hd ---------------- */
#hd {
  position: relative;
  z-index: 10;
  background-color: var(--bar-bg);
}

/* 左：品牌 / 右：登录注册按钮（分类导航已移除） */
#hd .hd-in {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  height: 85px;
  padding: 0 22px;
}

#hd .lg {
  display: flex;
  align-items: center;
  justify-self: start;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  color: #fff;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: .2px;
  white-space: nowrap;
}

#hd .lg img { max-height: 34px; width: auto; }

#hd .lg-tx {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
}

#hd .hd-act {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 10px;
  min-width: 0;
}

#hd .hd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0 16px;
  border-radius: 4px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

#hd .hd-btn-login { border: 1px solid #7d24ff; }

#hd .hd-btn-login:hover { background-color: rgba(125, 36, 255, .25); }

#hd .hd-btn-reg { border: 1px solid #7d24ff; background-color: #5c00cc; }

#hd .hd-btn-reg:hover { background-color: #7d24ff; color: var(--link-gold); }

#hd .lang { flex: none; }

#hd .lang .lang-tx {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  border: 3px solid #7d24ff;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  transition: border-color .25s ease, background-color .25s ease;
}

#hd .lang .lang-tx:hover { border-color: #ffd800; background-color: rgba(125, 36, 255, .25); }

@media (max-width: 991px) {
  #hd .hd-in { display: flex; align-items: center; gap: 10px; height: 64px; padding: 0 14px; }
  #hd .lg { flex: 1 1 auto; justify-self: auto; font-size: 18px; }
  #hd .lg img { max-height: 26px; }
  #hd .hd-act { flex: none; justify-self: auto; gap: 8px; margin-left: auto; }
  #hd .hd-btn { height: 32px; padding: 0 11px; font-size: 12px; }
  #hd .lang .lang-tx { width: 35px; height: 35px; border-width: 2px; font-size: 13px; }
}

/* 小屏优先保证登录 / 注册按钮可点，语言标识让位 */
@media (max-width: 479px) {
  #hd .lang { display: none; }
  #hd .hd-btn { padding: 0 9px; font-size: 11px; }
}


/* ---------------- 主视觉横幅 #hero ---------------- */
#hero {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 850px;
  max-height: 890px;
  background-image: url('/statics/asset-01.webp');
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 -29px 54px 12px #180023;
}

#hero-in {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 40px 15px 0;
}

#hero-cta { width: 100%; max-width: 500px; margin: 0 auto; text-align: center; }

#hero-slogan {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  min-height: 176px;
  /* 文案整体下移贴住横幅底边，并用底部渐变把文字与插画分隔开，避免文字压在图案上 */
  padding: 0 15px 24px;
  text-align: center;
  background-image: linear-gradient(180deg, rgba(24, 0, 35, 0) 0%, rgba(24, 0, 35, .5) 46%, rgba(24, 0, 35, .92) 100%);
}

#hero-slogan p {
  margin: 0;
  color: var(--gold);
  font-size: 36pt;
  line-height: 1.25;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .75), 0 2px 20px rgba(0, 0, 0, .41);
}

.font-script {
  font-family: 'Noto Serif Thai', 'Noto Sans Thai', serif;
  font-weight: 700;
}

/* ---------------- 粉色流光按钮（原站 .btn .btn-lg .btn-anim） ---------------- */
.btn {
  display: inline-block;
  position: relative;
  height: 33px;
  padding: 0 25px;
  border: 0;
  border-bottom: 4px solid #810062;
  border-radius: 25px;
  color: #fff;
  font-family: inherit;
  font-size: 20px;
  font-weight: 800;
  line-height: 33px;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
  box-shadow: inset 0 3px 6px 2px #ff73f5, 0 0 5px rgba(0, 0, 0, .6);
  background-color: #ff57c9;
  background-image:
    url('/statics/asset-08.png'),
    linear-gradient(to bottom, #fff 0%, #ff57c9 12%, #8a005e 100%);
  background-repeat: no-repeat, no-repeat;
  background-position: 0 0, 0 0;
  background-size: 400px 41px, 100% 100%;
}

.btn.btn-lg {
  height: 88px;
  padding: 0 92px;
  border-radius: 44px;
  border-bottom-width: 6px;
  font-size: 44px;
  line-height: 74px;
  background-size: 620px 84px, 100% 100%;
}

.btn.btn-lg:active { top: 4px; border-bottom-width: 1px; }

/* 流光 + 大小缩放（呼吸）双动画：hover / 键盘聚焦时缩放节奏加快 */
.btn.btn-anim {
  transform-origin: 50% 50%;
  will-change: transform;
  animation: pg-slide 2s steps(60) infinite, pg-pulse 1.8s ease-in-out infinite;
}

.btn.btn-lg:hover,
.btn.btn-lg:focus-visible { animation-duration: 2s, 0.9s; }

.btn.btn-full { display: block; width: 100%; }

@keyframes pg-slide {
  0% { background-position: 620px 0, 0 0; }
  100% { background-position: 0 0, 0 0; }
}

/* 缩放幅度放大到 1.09，肉眼可辨；不加 prefers-reduced-motion 关闭，确保始终可见 */
@keyframes pg-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.09); }
}

@media (max-width: 600px) {
  #hero { min-height: 560px; max-height: none; }
  #hero-in { padding-top: 24px; }
  #hero-slogan { min-height: 122px; padding-bottom: 16px; }
  #hero-slogan p { font-size: 20pt; }
  .btn.btn-lg {
    height: 68px;
    padding: 0 62px;
    border-radius: 40px;
    font-size: 32px;
    line-height: 58px;
    background-size: 440px 64px, 100% 100%;
  }
}

/* ---------------- 分隔金线 .hr-gold ---------------- */
.hr-gold {
  height: 2px;
  width: 100%;
  background-image: linear-gradient(180deg, #675018 0%, #e6c34c 50%, #675018 100%);
}

/* ---------------- 图集轮播模块 .rot-mod ---------------- */
.rot-mod {
  position: relative;
  padding-bottom: 34px;
  background-color: #000011;
}

.rot-mod .wrap { width: 100%; max-width: var(--pg-max-width); position: relative; }

.rot-mod .g1,
.rot-mod .g9 { position: static; }

/* 宽屏：右侧留出固定宽度给浣熊装饰，避免压住轮播文字 */
@media (min-width: 992px) {
  .rot-mod .g1 { display: none; }
  .rot-mod .g9 { width: 100%; }
}

@media (min-width: 1025px) {
  .rot-mod .g9 { width: calc(100% - 270px); }
}

.rot-mod .rot-hold { position: relative; }

/* 轮播结构 */
.rot { position: relative; width: 100%; padding-bottom: 4px; }

.rot-in { position: relative; width: 100%; overflow: hidden; }

.rot-in > .rot-it { display: none; width: 100%; }

.rot-in > .rot-it.on { display: block; animation: pg-fade .7s ease both; }

@keyframes pg-fade {
  from { opacity: 0; transform: translateX(24px); }
  to { opacity: 1; transform: translateX(0); }
}

.rot-in > .rot-it .rot-rw {
  display: grid;
  grid-template-columns: minmax(0, 620px) minmax(0, 620px);
  justify-content: center;
  align-items: center;
  gap: 24px 56px;
  padding: 34px 0 22px;
}

/* 栅格列在 grid 中必须占满单元格，否则图片/文字只占半格 */
.rot-mod .rot-rw > .g6 { width: 100%; max-width: none; }

.rot-mod .rot-fig { min-width: 0; max-width: none; }

.rot-mod .rot-fig img {
  display: block;
  width: 100%;
  max-width: 620px;
  height: auto;
  margin: 0 auto;
}

.rot-mod .rot-tx { min-width: 0; max-width: none; display: block; padding-left: 0; }

.rot-mod .rot-tx p {
  margin: 0 0 12px;
  padding-bottom: 5px;
  color: var(--pink);
  font-family: inherit;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.15;
  text-align: left;
  text-transform: uppercase;
}

.rot-mod .rot-tx ul { margin: 0; padding: 0; }

.rot-mod .rot-tx ul li {
  position: relative;
  padding-left: 1.05em;
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
  text-align: left;
}

.rot-mod .rot-tx ul li::before {
  content: "\00BB";
  position: absolute;
  left: 0;
  top: -.1em;
  color: var(--pink);
  font-size: 1.6em;
  line-height: 1;
}

/* 指示点 */
.rot-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

.rot-dots li {
  width: 12px;
  height: 12px;
  margin: 0;
  border: 2px solid var(--pink);
  border-radius: 50%;
  background-color: transparent;
  cursor: pointer;
  transition: background-color .25s ease, transform .25s ease;
}

.rot-dots li.on { background-color: var(--pink); transform: scale(1.15); }

/* 右侧装饰（原站浣熊图）：垂直居中，固定在右栏，不覆盖轮播内容 */
.rot-mod .rot-deco {
  position: absolute;
  top: 50%;
  right: 0;
  width: 240px;
  height: 100%;
  max-height: 420px;
  background-image: url('/statics/asset-07.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transform: translateY(-50%);
  pointer-events: none;
}

@media (max-width: 1024px) {
  .rot-mod .rot-deco { display: none; }
}

@media (max-width: 991px) {
  .rot-mod .wrap { padding: 0 15px; }
  .rot-in > .rot-it .rot-rw { display: block; }
  .rot-mod .rot-fig { max-width: 100%; }
  .rot-mod .rot-fig img { margin: 12px auto 0; }
  .rot-mod .rot-tx { max-width: 100%; padding: 0 0 34px; }
  .rot-mod .rot-tx p { margin-top: 14px; font-size: 18px; text-align: center; }
  .rot-mod .rot-tx ul li { font-size: 15px; line-height: 1.7; }
}

/* ---------------- 中部图文模块 .band-mod ---------------- */
/* 背景渐变铺满整屏，内容限宽居中，避免两侧出现紫色空块 */
.band-mod {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 260px;
  margin: 0 auto;
  padding: 0 0 46px;
  background-image: linear-gradient(180deg, #000110 0%, #22184f 50%, #000110 100%);
}

.band-fx {
  position: absolute;
  top:0px;
  left: 0;
  width: 100%;
  height: 140px;
  background-image: url('/statics/asset-09.png');
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  pointer-events: none;
}

.band-hd {
  position: relative;
  z-index: 1;
  width: calc(100% - 32px);
  max-width: var(--pg-max-width);
  /* 顶部留白避开上方的彩带装饰层，标题不再与装饰重叠 */
  margin: 48px auto 22px;
  padding: 14px 18px;
  border: 2px solid #ffcc00;
  background-color: #0e2342;
  text-align: center;
}

.band-hd h1,
.band-hd h2 {
  margin: 0;
  color: var(--gold);
  font-size: 29px;
  font-weight: 800;
  line-height: 1.3;
  text-transform: uppercase;
}

.band-in { position: relative; }

.band-in .tx { color: #efe6ff; font-size: 15px; line-height: 1.8; }

.band-in .tx p { margin: 0 0 14px; }

.band-in .tx .tx-lead {
  color: #e9d0fe;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
}

.band-in .tx-h {
  margin: 32px auto 12px;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  text-transform: uppercase;
}

.band-in #sec-2 h2.tx-h { font-size: 24px; margin: 32px auto 18px; }

/* 图文两栏：左右各一半，间距固定，图片不越界不压字 */
.band-rw {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: 28px 60px;
  padding: 22px 0;
}

#sec-3 { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }

.band-rw .tx { min-width: 0; max-width: 860px; }

.band-rw .fig { min-width: 0; text-align: center; }

.band-rw .fig img {
  display: block;
  width: 100%;
  max-width: 620px;
  height: auto;
  margin: 0 auto;
}

.band-in .tx ul { margin: 0 0 14px; padding: 0; list-style: none; }

.band-in .tx ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 6px;
}

.band-in .tx ul li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: #ffd500;
  font-weight: 700;
}

@media (max-width: 991px) {
  .band-rw { display: block; }
  .band-rw .fig { margin-top: 14px; }
  #sec-3 .fig { margin: 0 0 14px; }
  .band-hd h1, .band-hd h2 { font-size: 22px; }
  .band-in .tx-h { font-size: 18px; }
  .band-in #sec-2 h2.tx-h { font-size: 20px; }
}

/* ---------------- 页脚 #ft ---------------- */
#ft { position: relative; z-index: 1; width: 100%; }

#ft .ft-q {
  background-color: #1a0033;
  min-height: 55px;
  padding: 12px 0;
}

#ft .ft-q .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

#ft .ft-q-ls { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; }

#ft .ft-q-ls span a {
  color: #b79fd6;
  font-size: 13px;
  transition: color .2s ease;
}

#ft .ft-q-ls span a:hover { color: #fff; }

#ft .ft-map {
  padding: 34px 0 10px;
  background-image: linear-gradient(180deg, var(--footer-mid-2) 0%, var(--footer-deep) 100%);
}

#ft .ft-map .rw { align-items: flex-start; }

#ft .ft-tt {
  margin-bottom: 8px;
  color: #c9b6e6;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

#ft .ln { height: 1px; margin-bottom: 12px; background-color: rgba(255, 255, 255, .14); }

#ft .ln-lg { height: 1px; margin: 28px 15px 0; background-color: rgba(255, 255, 255, .14); }

#ft .ft-lk { margin-bottom: 9px; }

#ft .ft-lk a {
  color: var(--footer-text);
  font-size: 13px;
  line-height: 1.5;
  transition: color .2s ease;
}

#ft .ft-lk a:hover { color: #fff; }

#ft .ft-note {
  padding: 26px 15px 34px;
  background-color: var(--footer-deep);
  color: var(--footer-text);
  font-size: 12px;
  line-height: 1.7;
}

#ft .ft-note strong { display: block; margin-bottom: 10px; color: #d9c9f0; font-size: 14px; }

#ft .ft-note p { margin: 0 0 10px; }

#ft .ft-note .cp { margin: 18px 0 0; color: #7d6a9c; font-size: 11px; }

@media (max-width: 991px) {
  #ft .ft-map .rw > div { margin-bottom: 18px; }
  #ft .ft-q .wrap { justify-content: center; text-align: center; }
  #ft .ft-q-ls { justify-content: center; }
}
