/* 摄状元 - 移动端布局修复 v3（重写，彻底解决header 间距问题）
   策略：不依赖 components.css 的移动端规则，直接覆盖全部关键属性 */

/* ══ 全局变量别名 ══ */
:root {
  --color-text-primary: #E8E8F0;
  --color-text-secondary: #B0B0C0;
  --color-text-muted: #8A8A9A;
  --color-primary: #C41E3A;
  --color-primary-dark: #9B1830;
  --color-gold: #D4A017;
  --font-size-lg: 18px;
}

/* ══════════════════════════════════
   移动端 Header 彻底重写
   ══════════════════════════════════ */
@media (max-width: 1023px) {

  /* === Header 容器 === */
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    background: rgba(10,10,15,0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    z-index: 1000 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .site-header.scrolled {
    background: rgba(10,10,15,0.99) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
  }

  /* === Header 内部布局 === */
  .header-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 12px !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  /* === Logo === */
  .logo {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 45% !important;
  }
  .logo-text {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #D4A017 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  /* === 桌面导航在移动端隐藏 === */
  .main-nav {
    position: fixed !important;
    top: 56px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: calc(100vh - 56px) !important;
    background: rgba(10,10,15,0.98) !important;
    transform: translateX(100%) !important;
    transition: transform 0.3s ease !important;
    overflow-y: auto !important;
    padding: 16px 0 !important;
    z-index: 999 !important;
    display: block !important;
  }
  .main-nav.szy-nav-open,
  .main-nav.mobile-open {
    transform: translateX(0) !important;
  }
  .nav-list {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 20px !important;
    gap: 0 !important;
  }
  .nav-item a {
    display: block !important;
    padding: 14px 0 !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  .nav-item .submenu {
    position: static !important;
    display: none !important;
    padding: 0 16px !important;
    background: rgba(255,255,255,0.03) !important;
  }
  .nav-item.submenu-open > .submenu {
    display: block !important;
  }
  .nav-item .submenu li a {
    font-size: 13px !important;
    padding: 10px 0 !important;
    color: rgba(255,255,255,0.7) !important;
  }

  /* === 汉堡菜单按钮 === */
  .mobile-menu-toggle {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    z-index: 1010 !important;
    gap: 5px !important;
  }
  .mobile-menu-toggle span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #FFFFFF !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .mobile-menu-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }
  .mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0 !important;
  }
  .mobile-menu-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  /* === Header 右侧按钮 === */
  .header-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
    height: auto !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 50% !important;
  }
  .header-btn {
    display: inline-block !important;
    font-size: 11px !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    visibility: visible !important;
    opacity: 1 !important;
    border: none !important;
  }
  .header-btn-login {
    background: rgba(255,255,255,0.1) !important;
    color: #E8E8F0 !important;
  }
  .header-btn-register {
    background: linear-gradient(135deg, #C41E3A, #E8324F) !important;
    color: #FFFFFF !important;
  }
  .header-btn-partner {
    display: none !important;
  }
  .header-btn-balance {
    display: none !important;
  }

  /* === Hero区：紧贴header下方 === */
  .hero {
    padding-top: 64px !important;
    padding-bottom: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .hero-content {
    padding: 0 16px !important;
  }
  .hero-content h1 {
    font-size: 22px !important;
    margin-bottom: 12px !important;
  }
  .hero-content .slogan {
    font-size: 13px !important;
    margin-bottom: 8px !important;
  }
  .hero-content .description {
    font-size: 13px !important;
    margin-bottom: 16px !important;
  }
  .hero-buttons {
    gap: 8px !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .hero-buttons .btn {
    width: 100% !important;
    max-width: 280px !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
  }

  /* === 间距压缩 === */
  .section, .section-alt, .section-dark {
    padding: 28px 0 !important;
  }
  .section-header {
    margin-bottom: 20px !important;
  }
  .section-header h2 {
    font-size: 19px !important;
  }
  .section-header .subtitle {
    font-size: 12px !important;
    margin-bottom: 10px !important;
  }

  /* === 卡片紧凑 === */
  .advantages-grid,
  .creation-grid,
  .task-hall-grid {
    gap: 10px !important;
  }
  .advantage-card,
  .creation-card,
  .task-card {
    padding: 14px !important;
  }

  /* === 工作流紧凑 === */
  .workflow-step-icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 20px !important;
    margin-bottom: 6px !important;
  }
  .workflow-step-title { font-size: 12px !important; }
  .workflow-step-desc { font-size: 11px !important; }

  /* === 注册banner紧凑 === */
  .register-banner {
    padding: 14px !important;
    margin: 0 4px !important;
  }

  /* === Footer紧凑 === */
  .site-footer { padding: 24px 0 12px !important; }

  /* === 页面banner === */
  .page-banner {
    padding-top: 64px !important;
    padding-bottom: 20px !important;
  }
}

/* ══════════════════════════════════
   小屏 (≤480px)
   ══════════════════════════════════ */
@media (max-width: 480px) {
  .header-inner { padding: 0 8px !important; }
  .logo-text { font-size: 12px !important; }
  .header-btn { font-size: 10px !important; padding: 4px 7px !important; }
  .section, .section-alt, .section-dark { padding: 22px 0 !important; }
  .hero-content h1 { font-size: 20px !important; }
}

/* ══════════════════════════════════
   平板 (768-1023px)
   ══════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1023px) {
  .advantages-grid,
  .creation-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .task-hall-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ══════════════════════════════════
   强制动画元素在移动端可见
   ══════════════════════════════════ */
@media (max-width: 1023px) {
  .fade-in-up, .fade-in-up.visible,
  .animate-in, .animate-in.visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .section, .section-alt, .section-dark,
  .hero, .hero-content, .page-banner,
  .container, .site-main {
    opacity: 1 !important;
    visibility: visible !important;
  }
  body.nav-open {
    overflow: hidden !important;
  }
}

  /* ── Digital Human Grid 响应式 ── */
  .digital-human-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

/* ── Digital Human Grid 响应式 ── */
@media (max-width: 1023px) {
  .digital-human-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .dh-avatar {
    width: 48px !important;
    height: 48px !important;
    font-size: 24px !important;
  }
  .dh-name {
    font-size: 13px !important;
  }
  .dh-tag {
    font-size: 10px !important;
    padding: 1px 6px !important;
  }
}
@media (max-width: 480px) {
  .digital-human-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .dh-card {
    padding: 12px 8px 10px !important;
  }
  .dh-avatar {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
  }
  .dh-name {
    font-size: 12px !important;
  }
}
