@charset "utf-8";
/* ==========================================================================
   中国168福彩 - 布局层 (layout.css)
   包含：顶部工具条 / 头部导航 / 下拉菜单 / 面包屑 / 页脚 / 悬浮工具
   ========================================================================== */

/* ------------------------------ 顶部工具条 ------------------------------ */
.topbar {
  background: linear-gradient(90deg, #0c1220 0%, #16203a 52%, #0c1220 100%);
  color: var(--c-dark-text-2); font-size: var(--fs-12); line-height: 34px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.topbar .wrap-wide { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.topbar-left { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.topbar-left .item { display: inline-flex; align-items: center; gap: 6px; }
.topbar-left .item svg { width: 13px; height: 13px; fill: var(--c-gold); opacity: .9; }
.topbar-right { display: flex; align-items: center; gap: 14px; }
.topbar-right a:hover { color: var(--c-gold); }
.topbar .marquee { overflow: hidden; max-width: 520px; white-space: nowrap; }
.topbar .marquee span { display: inline-block; padding-left: 100%; animation: marquee 26s linear infinite; }
.topbar .marquee span:hover { animation-play-state: paused; }
.topbar .marquee b { color: var(--c-gold); }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }

/* ------------------------------ 头部 + 主导航 ------------------------------ */
.site-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255, 255, 255, .96);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--c-line);
  box-shadow: 0 2px 14px rgba(16, 21, 31, .05);
}
.site-header.is-dark {
  background: rgba(12, 18, 32, .94);
  border-bottom-color: rgba(255, 255, 255, .08);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; min-height: var(--header-h);
}

/* Logo */
.logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.logo-mark {
  width: 46px; height: 46px; flex-shrink: 0;
  border-radius: 12px; overflow: hidden;
  box-shadow: 0 6px 16px rgba(216, 30, 44, .28);
}
.logo-mark img { width: 100%; height: 100%; }
.logo-text { line-height: 1.2; }
.logo-text .cn { display: block; font-size: var(--fs-20); font-weight: 800; letter-spacing: -.5px; color: var(--c-ink); }
.logo-text .cn i { color: var(--c-primary); }
.logo-text .en { display: block; font-size: 10px; letter-spacing: 2.4px; color: var(--c-text-3); text-transform: uppercase; }
.is-dark .logo-text .cn { color: #fff; }
.is-dark .logo-text .en { color: var(--c-dark-text-2); }

/* 主导航 */
.nav { display: flex; align-items: center; gap: 4px; }
.nav > li { position: relative; }
.nav > li > a {
  display: inline-flex; align-items: center; gap: 6px;
  height: 42px; padding: 0 16px; border-radius: var(--r-pill);
  font-size: var(--fs-15); font-weight: 700; color: var(--c-ink-3);
}
.nav > li > a:hover { color: var(--c-primary); background: rgba(216, 30, 44, .06); }
.nav > li.is-active > a { color: #fff; background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark)); box-shadow: 0 6px 16px rgba(216, 30, 44, .26); }
.is-dark .nav > li > a { color: var(--c-dark-text); }
.is-dark .nav > li > a:hover { background: rgba(255, 255, 255, .08); color: var(--c-gold); }
.is-dark .nav > li.is-active > a { color: #3a2a05; background: linear-gradient(135deg, var(--c-gold), var(--c-gold-dark)); box-shadow: var(--sh-gold); }
.nav .caret { width: 8px; height: 8px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .6; }

/* 下拉菜单 */
.nav .drop {
  position: absolute; left: 50%; top: calc(100% + 8px); transform: translate(-50%, 8px);
  min-width: 208px; padding: 10px; border-radius: var(--r-md);
  background: #fff; border: 1px solid var(--c-line); box-shadow: var(--sh-3);
  opacity: 0; visibility: hidden; transition: all var(--dur) var(--ease);
}
.nav > li:hover .drop, .nav > li:focus-within .drop { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.nav .drop::before {
  content: ""; position: absolute; left: 50%; top: -6px; width: 12px; height: 12px;
  transform: translateX(-50%) rotate(45deg); background: #fff;
  border-left: 1px solid var(--c-line); border-top: 1px solid var(--c-line);
}
.nav .drop a {
  display: block; padding: 9px 12px; border-radius: var(--r-sm);
  font-size: var(--fs-14); color: var(--c-text-2); white-space: nowrap;
}
.nav .drop a:hover { background: var(--c-line-2); color: var(--c-primary); padding-left: 16px; }
.is-dark .nav .drop { background: var(--c-dark-bg-2); border-color: var(--c-dark-line); }
.is-dark .nav .drop::before { background: var(--c-dark-bg-2); border-color: var(--c-dark-line); }
.is-dark .nav .drop a { color: var(--c-dark-text-2); }
.is-dark .nav .drop a:hover { background: rgba(255, 255, 255, .06); color: var(--c-gold); }

/* 头部右侧动作区 */
.header-act { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.header-search {
  display: flex; align-items: center; height: 40px; padding: 0 6px 0 16px;
  border: 1px solid var(--c-line); border-radius: var(--r-pill); background: var(--c-bg);
}
.header-search input { width: 150px; border: 0; background: none; font-size: var(--fs-13); }
.header-search button { width: 30px; height: 30px; border-radius: 50%; background: var(--c-primary); display: grid; place-items: center; }
.header-search button svg { width: 14px; height: 14px; fill: #fff; }
.is-dark .header-search { background: rgba(255, 255, 255, .05); border-color: var(--c-dark-line); }
.is-dark .header-search input { color: #fff; }
.header-tel { display: flex; align-items: center; gap: 8px; line-height: 1.15; }
.header-tel svg { width: 22px; height: 22px; fill: var(--c-primary); }
.header-tel .num { font-family: var(--font-num); font-size: var(--fs-18); font-weight: 700; color: var(--c-primary); }
.header-tel .txt { font-size: 11px; color: var(--c-text-3); }

/* 汉堡按钮 */
.burger {
  display: none; width: 42px; height: 42px; border-radius: var(--r-sm);
  border: 1px solid var(--c-line); place-items: center;
}
.burger span { display: block; width: 18px; height: 2px; background: var(--c-ink); margin: 3px auto; border-radius: 2px; transition: all var(--dur) var(--ease); }
.burger.is-open span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.burger.is-open span:nth-child(2) { opacity: 0; }
.burger.is-open span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.is-dark .burger { border-color: var(--c-dark-line); }
.is-dark .burger span { background: #fff; }

/* 移动端抽屉导航 */
.mobile-nav {
  display: none; border-top: 1px solid var(--c-line); background: #fff;
  max-height: 0; overflow: hidden; transition: max-height .35s var(--ease);
}
.mobile-nav.is-open { max-height: 640px; overflow-y: auto; }
.mobile-nav ul { padding: 10px 20px 22px; }
.mobile-nav li > a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 0; border-bottom: 1px dashed var(--c-line);
  font-size: var(--fs-15); font-weight: 700; color: var(--c-ink-3);
}
.mobile-nav .sub { padding: 6px 0 10px 14px; }
.mobile-nav .sub a { display: block; padding: 8px 0; font-size: var(--fs-13); font-weight: 400; color: var(--c-text-2); }

/* ------------------------------ 面包屑 ------------------------------ */
.crumb-bar { background: #fff; border-bottom: 1px solid var(--c-line); }
.crumb {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  min-height: 52px; font-size: var(--fs-13); color: var(--c-text-3);
}
.crumb a { color: var(--c-text-2); }
.crumb a:hover { color: var(--c-primary); }
.crumb .sep { color: #c2c9d4; }
.crumb .cur { color: var(--c-ink-3); font-weight: 700; }
.crumb .home-ico { width: 14px; height: 14px; fill: var(--c-text-3); }

/* ------------------------------ 页脚 ------------------------------ */
.site-footer { background: #0a0f1b; color: #98a3b6; font-size: var(--fs-13); }

/* 页脚上方的数据/优势带 */
.footer-stats { border-bottom: 1px solid rgba(255, 255, 255, .07); }
.footer-stats .grid { gap: 0; }
.footer-stats .item {
  padding: 26px 20px; text-align: center;
  border-right: 1px solid rgba(255, 255, 255, .07);
}
.footer-stats .item:last-child { border-right: 0; }
.footer-stats .num { font-family: var(--font-num); font-size: var(--fs-32); font-weight: 700; color: var(--c-gold); line-height: 1.1; }
.footer-stats .lbl { margin-top: 4px; font-size: var(--fs-13); color: #8d97a9; }

/* 页脚主体 */
.footer-main { padding: 52px 0 34px; }
.footer-main .grid { gap: 34px; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr; }
.footer-brand .logo-text .cn { color: #fff; }
.footer-brand .logo-text .en { color: #6f7a8d; }
.footer-brand p { margin-top: 16px; line-height: 1.9; color: #8d97a9; }
.footer-brand .contact-list { margin-top: 18px; }
.footer-brand .contact-list li { display: flex; gap: 8px; padding: 4px 0; }
.footer-brand .contact-list b { color: #d6dde9; font-family: var(--font-num); font-size: var(--fs-15); }

.footer-col h3 { font-size: var(--fs-15); color: #fff; margin-bottom: 16px; position: relative; padding-bottom: 12px; }
.footer-col h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: var(--c-gold); }
.footer-col li { padding: 5px 0; }
.footer-col a { color: #98a3b6; }
.footer-col a:hover { color: var(--c-gold); padding-left: 4px; }

.footer-tags { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.footer-tags span {
  padding: 4px 10px; border-radius: var(--r-xs);
  background: rgba(255, 255, 255, .06); color: #9aa5b8; font-size: var(--fs-12);
}
.footer-tags span:hover { background: rgba(232, 180, 71, .18); color: var(--c-gold); }

/* 页脚底部 */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .07);
  padding: 20px 0; font-size: var(--fs-12); color: #6f7a8d;
}
.footer-bottom .wrap-wide { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.footer-bottom a { color: #8d97a9; }
.footer-bottom a:hover { color: var(--c-gold); }
.footer-bottom .links { display: flex; flex-wrap: wrap; gap: 14px; }
.footer-notice {
  margin-top: 14px; padding: 14px 18px; border-radius: var(--r-sm);
  background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .06);
  line-height: 1.9; color: #7c879a;
}
.footer-notice b { color: #b9c3d3; }

/* ------------------------------ 悬浮工具 ------------------------------ */
.float-tools { position: fixed; right: 18px; bottom: 96px; z-index: 80; display: flex; flex-direction: column; gap: 10px; }
.float-tools a, .float-tools button {
  width: 46px; height: 46px; border-radius: var(--r-md);
  background: #fff; border: 1px solid var(--c-line); box-shadow: var(--sh-2);
  display: grid; place-items: center; position: relative; transition: all var(--dur) var(--ease);
}
.float-tools svg { width: 20px; height: 20px; fill: var(--c-ink-3); }
.float-tools a:hover, .float-tools button:hover { background: var(--c-primary); border-color: var(--c-primary); transform: translateY(-2px); }
.float-tools a:hover svg, .float-tools button:hover svg { fill: #fff; }
.float-tools .tip {
  position: absolute; right: 56px; top: 50%; transform: translateY(-50%) translateX(8px);
  padding: 6px 12px; border-radius: var(--r-sm); background: var(--c-ink);
  color: #fff; font-size: var(--fs-12); white-space: nowrap;
  opacity: 0; visibility: hidden; transition: all var(--dur) var(--ease);
}
.float-tools a:hover .tip, .float-tools button:hover .tip { opacity: 1; visibility: visible; transform: translateY(-50%) translateX(0); }
.float-tools .to-top { opacity: 0; visibility: hidden; }
.float-tools .to-top.is-show { opacity: 1; visibility: visible; }

/* 二维码卡片 */
.qr-pop {
  position: fixed; right: 78px; bottom: 96px; z-index: 81;
  width: 168px; padding: 14px; border-radius: var(--r-md);
  background: #fff; border: 1px solid var(--c-line); box-shadow: var(--sh-3);
  text-align: center; opacity: 0; visibility: hidden; transform: translateX(10px);
  transition: all var(--dur) var(--ease);
}
.qr-pop.is-show { opacity: 1; visibility: visible; transform: none; }
.qr-pop img { width: 140px; height: 140px; margin: 0 auto; border-radius: var(--r-sm); }
.qr-pop p { margin-top: 8px; font-size: var(--fs-12); color: var(--c-text-3); }

/* ------------------------------ 通用页面头部横幅 ------------------------------ */
.page-hero {
  position: relative; padding: 58px 0 62px; overflow: hidden;
  background: linear-gradient(115deg, #0c1220 0%, #17223c 55%, #22182a 100%);
  color: #fff;
}
.page-hero .bg-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: .34;
}
.page-hero .mask {
  position: absolute; inset: 0;
  background: radial-gradient(60% 120% at 18% 30%, rgba(216, 30, 44, .34) 0%, rgba(12, 18, 32, 0) 70%),
              linear-gradient(90deg, rgba(9, 13, 24, .92) 0%, rgba(9, 13, 24, .55) 60%, rgba(9, 13, 24, .3) 100%);
}
.page-hero .wrap { position: relative; z-index: 2; }
.page-hero h1 { color: #fff; font-size: var(--fs-40); letter-spacing: -1px; }
.page-hero h1 .hl { color: var(--c-gold); }
.page-hero .lead { margin-top: 14px; max-width: 760px; color: #c3ccdc; font-size: var(--fs-15); }
.page-hero .hero-tags { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.page-hero .hero-tags span {
  padding: 6px 14px; border-radius: var(--r-pill); font-size: var(--fs-13);
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); color: #d7dfec;
}
.page-hero .hero-stats { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 34px; }
.page-hero .hero-stats .num { font-family: var(--font-num); font-size: var(--fs-32); color: var(--c-gold); line-height: 1.1; }
.page-hero .hero-stats .lbl { font-size: var(--fs-13); color: #a9b4c6; }

/* ------------------------------ 侧栏模块 ------------------------------ */
.sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: calc(var(--header-h) + 18px); }
.widget { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); overflow: hidden; }
.widget-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 16px 18px; border-bottom: 1px solid var(--c-line-2);
  background: linear-gradient(180deg, #fbfcfe, #f5f7fb);
}
.widget-head h3 { font-size: var(--fs-16); display: flex; align-items: center; gap: 8px; }
.widget-head h3 .ico { width: 20px; height: 20px; border-radius: 6px; background: rgba(216, 30, 44, .1); display: grid; place-items: center; }
.widget-head h3 .ico svg { width: 12px; height: 12px; fill: var(--c-primary); }
.widget-head .more { font-size: var(--fs-12); color: var(--c-text-3); }
.widget-body { padding: 16px 18px; }
.widget-body.tight { padding: 10px 18px 16px; }

/* 排行榜列表 */
.rank-list li { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px dashed var(--c-line-2); }
.rank-list li:last-child { border-bottom: 0; }
.rank-list .no {
  width: 22px; height: 22px; flex-shrink: 0; border-radius: 6px; display: grid; place-items: center;
  font-family: var(--font-num); font-size: var(--fs-13); font-weight: 700;
  background: var(--c-line-2); color: var(--c-text-3);
}
.rank-list li:nth-child(1) .no { background: linear-gradient(135deg, #ffd981, #d9a52c); color: #4a3406; }
.rank-list li:nth-child(2) .no { background: linear-gradient(135deg, #dfe6f0, #a9b6c9); color: #2b3448; }
.rank-list li:nth-child(3) .no { background: linear-gradient(135deg, #f0c39a, #c1854f); color: #fff; }
.rank-list .txt { flex: 1; min-width: 0; }
.rank-list .txt a { display: block; font-size: var(--fs-14); color: var(--c-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rank-list .txt a:hover { color: var(--c-primary); }
.rank-list .txt .sub { font-size: var(--fs-12); color: var(--c-text-3); }
.rank-list .val { font-family: var(--font-num); font-size: var(--fs-15); color: var(--c-primary); font-weight: 700; }

/* 标签云 */
.tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-cloud a {
  padding: 6px 12px; border-radius: var(--r-pill); font-size: var(--fs-13);
  background: var(--c-bg); color: var(--c-text-2); border: 1px solid var(--c-line);
}
.tag-cloud a:hover { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }

/* ------------------------------ 分页 ------------------------------ */
.pager { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 34px; }
.pager a, .pager span {
  min-width: 40px; height: 40px; padding: 0 12px; border-radius: var(--r-sm);
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid var(--c-line); font-size: var(--fs-14); color: var(--c-text-2);
  font-family: var(--font-num);
}
.pager a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.pager .cur { background: var(--c-primary); border-color: var(--c-primary); color: #fff; font-weight: 700; }
.pager .dots { border: 0; background: none; }
