/* ══════════════════════════════════════════════════════════════
   Weblex 视频 Hero 模板 —— 设计令牌
   ──────────────────────────────────────────────────────────────
   暗色主题 + 荧光黄绿强调。所有值可用品牌配置覆盖。
   ══════════════════════════════════════════════════════════════ */

:root {
  /* ── 色彩(HSL 源值)── */
  --background:          #010104;
  --foreground:          #ffffff;
  --primary:             #cefd26;
  --primary-foreground:  #010104;
  --secondary:           #ffffff;
  --secondary-foreground:#010104;
  --muted:               #1c1c22;
  --muted-foreground:    rgba(209, 209, 209, 0.8);
  --border:              rgba(255, 255, 255, 0.1);

  /* ── 字体 ── */
  --font-sans: "Alibaba PuHuiTi", ui-sans-serif, system-ui, -apple-system, sans-serif;

  /* ── 圆角(本模板全程 rounded-full)── */
  --radius-pill: 9999px;

  /* ── 尺寸 ── */
  --nav-height:        72px;
  --hero-content-max:  603px;
  --hero-text-max:     520px;
  --hero-bottom-pad:   100px;

  /* ── 字号 ── */
  --fs-hero-lg: 62px;
  --fs-hero-md: 48px;
  --fs-hero-sm: 36px;
  --fs-btn:     18px;
  --fs-nav:     13px;
  --fs-badge:   12px;

  /* ── 动画参数(供 JS 读取)── */
  --fade-out-before: 1.5s;
  --fade-in-after:   1.0s;
}

/* ══════════════════════════════════════════════════════════════
   Weblex 视频 Hero 模板 —— 样式
   ──────────────────────────────────────────────────────────────
   依赖:tokens.css(设计令牌)
   覆盖:除强调色外,其余样式保持不变
   ══════════════════════════════════════════════════════════════ */

/* ══════════════ ① 透明导航栏 ══════════════ */
.wv-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.wv-nav__inner {
  max-width: 1440px;
  margin: 0 auto;
  height: var(--nav-height);
  padding: 0 32px;
  display: flex;
  align-items: center;
  gap: 40px;
}

/* 品牌名 + 绿点 */
.wv-nav__brand {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  font-family: var(--font-sans);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--foreground);
  text-decoration: none;
}
.wv-nav__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--primary);
  display: inline-block;
  transform: translateY(-1px);
}

/* 中间链接 */
.wv-nav__links {
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 0 auto;
}
.wv-nav__link {
  font-family: var(--font-sans);
  font-size: var(--fs-nav);
  font-weight: 500;
  color: var(--muted-foreground);
  text-decoration: none;
  transition: color .18s ease;
}
.wv-nav__link:hover { color: var(--foreground); }

/* 右侧按钮 */
.wv-nav__right { display: flex; align-items: center; gap: 12px; }
.wv-nav__cta {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  background: var(--primary);
  color: var(--primary-foreground);
  border-radius: var(--radius-pill);
  padding: 10px 20px;
  text-decoration: none;
  transition: filter .18s ease;
}
.wv-nav__cta:hover { filter: brightness(1.08); }

/* 汉堡按钮(仅移动端) */
.wv-nav__burger {
  display: none;
  background: transparent;
  border: 0;
  color: var(--foreground);
  cursor: pointer;
  padding: 6px;
  line-height: 0;
}
.wv-nav__icon-close { display: none; }
.wv-nav.is-open .wv-nav__icon-open  { display: none; }
.wv-nav.is-open .wv-nav__icon-close { display: block; }

/* 移动端下拉菜单 */
.wv-nav__menu {
  display: none;
  flex-direction: column;
  gap: 4px;
  padding: 12px 32px 24px;
  background: rgba(1, 1, 4, 0.96);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--border);
}
.wv-nav__menu[hidden] { display: none; }
.wv-nav__menu-link {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--muted-foreground);
  text-decoration: none;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.wv-nav__menu-link:hover { color: var(--foreground); }
.wv-nav__menu-cta {
  margin-top: 14px;
  text-align: center;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  background: var(--primary);
  color: var(--primary-foreground);
  border-radius: var(--radius-pill);
  padding: 14px 20px;
  text-decoration: none;
}

/* ══════════════ ② 全屏视频 Hero ══════════════ */
.wv-hero {
  position: relative;
  height: 100vh;
  min-height: 560px;
  width: 100%;
  overflow: hidden;
  background: var(--background);   /* 视频透明时露出黑底 */
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.wv-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;                      /* JS 动态改写 */
  will-change: opacity;
  pointer-events: none;
}

/* 内容:底部对齐 · 居中 */
.wv-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--hero-content-max);
  padding: 0 24px var(--hero-bottom-pad);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* 徽章 */
.wv-hero__badge {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: var(--fs-badge);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--muted-foreground);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  padding: 7px 15px;
  margin-bottom: 22px;
}

/* 标题 */
.wv-hero__title {
  font-family: var(--font-sans);
  font-size: var(--fs-hero-lg);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--foreground);
  margin: 0 0 20px;
  text-wrap: balance;
}

/* 段落 */
.wv-hero__text {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--muted-foreground);
  max-width: var(--hero-text-max);
  margin: 0 0 34px;
}

/* 双按钮 */
.wv-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
.wv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: var(--fs-btn);
  font-weight: 600;
  border-radius: var(--radius-pill);
  padding: 15px 28px;
  text-decoration: none;
  transition: filter .18s ease, background .18s ease;
  white-space: nowrap;
}
.wv-btn--primary {
  background: var(--primary);
  color: var(--primary-foreground);
}
.wv-btn--primary:hover { filter: brightness(1.08); }
.wv-btn--secondary {
  background: var(--secondary);
  color: var(--secondary-foreground);
}
.wv-btn--secondary:hover { filter: brightness(0.94); }

/* ══════════════ ③ 响应式 ══════════════ */
@media (max-width: 1024px) {
  .wv-hero__title { font-size: var(--fs-hero-md); }
}
@media (max-width: 767px) {
  .wv-hero__title { font-size: var(--fs-hero-sm); }
  .wv-nav__links { display: none; }
  .wv-nav__cta   { display: none; }
  .wv-nav__burger { display: block; }
  .wv-nav__inner { justify-content: space-between; padding: 0 20px; }
  .wv-nav__menu:not([hidden]) { display: flex; }
  .wv-hero__content { padding: 0 20px 72px; }
  .wv-btn { font-size: 16px; padding: 13px 24px; }
  .wv-hero__actions { flex-direction: column; width: 100%; max-width: 320px; }
  .wv-btn { width: 100%; }
}

/* ══════════════ ④ 无障碍 ══════════════ */
.wv-nav__link:focus-visible,
.wv-nav__cta:focus-visible,
.wv-nav__burger:focus-visible,
.wv-btn:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .wv-hero__video { opacity: 1 !important; }
  .wv-btn, .wv-nav__cta { transition: none; }
}