/**
 * 灵工平台 · 智能问答助手 — 手机端适配（企业版 / 代理版共用）
 *
 * 重要：本文件所有布局/样式均写在 @media (max-width: 768px) 内。
 * 电脑端（屏幕宽度 > 768px）不加载任何覆盖规则，页面与改版前完全一致。
 */

@media (max-width: 768px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    padding-bottom: env(safe-area-inset-bottom, 0);
  }

  /* 顶栏 */
  .header {
    padding: 12px 12px 14px !important;
    padding-top: max(12px, env(safe-area-inset-top, 12px)) !important;
  }

  .header-top {
    margin-bottom: 10px !important;
  }

  .logo {
    gap: 10px !important;
  }

  .logo-icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 19px !important;
    border-radius: 9px !important;
  }

  .logo h1 {
    font-size: 1.02rem !important;
    line-height: 1.25 !important;
  }

  .logo p {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
  }

  .header-search-row {
    gap: 10px !important;
  }

  .header-search-row .search-wrap {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* iOS 输入框 ≥16px 避免自动放大 */
  .search-input {
    font-size: 16px !important;
    padding: 11px 14px 11px 40px !important;
  }

  .search-results {
    max-height: min(50vh, 320px) !important;
  }

  .search-item {
    padding: 14px 16px !important;
    min-height: 48px;
  }

  /* 资质预览 */
  .qual-preview {
    margin-top: 10px !important;
  }

  .qual-preview-inner {
    padding: 12px !important;
  }

  .qual-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .qual-card img {
    height: 88px !important;
  }

  /* 主布局 */
  .main {
    padding: 10px 12px 20px !important;
    gap: 10px !important;
  }

  /* 分类横向滑动条 — 滚动时吸顶（在顶栏下方） */
  .sidebar {
    position: sticky !important;
    top: calc(env(safe-area-inset-top, 0px) + 112px) !important;
    z-index: 90 !important;
    background: var(--bg) !important;
    padding: 6px 0 8px !important;
    margin: 0 -4px !important;
  }

  .cat-list {
    padding: 2px 4px !important;
    gap: 6px !important;
  }

  .cat-item {
    padding: 10px 14px !important;
    min-height: 44px;
    font-size: 0.82rem !important;
  }

  /* 预设问题 */
  .preset-panel {
    padding: 14px !important;
  }

  .preset-header {
    margin-bottom: 10px !important;
  }

  .preset-grid {
    gap: 8px !important;
  }

  .preset-chip {
    padding: 10px 14px !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    font-size: 0.84rem !important;
  }

  /* 回答区 */
  .answer-panel {
    min-height: 200px !important;
    border-radius: 10px !important;
  }

  .answer-empty {
    padding: 40px 16px !important;
  }

  .answer-empty .emoji {
    font-size: 2.4rem !important;
  }

  .answer-header {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 14px 16px !important;
    gap: 10px !important;
  }

  .answer-header h3 {
    font-size: 0.95rem !important;
  }

  .answer-actions {
    width: 100% !important;
    flex-wrap: wrap !important;
  }

  .action-btn,
  .action-btn-sm {
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: 0.82rem !important;
  }

  .answer-body,
  #answerContent {
    padding: 14px 16px !important;
  }

  .answer-text {
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
  }

  /* 媒体与 PDF */
  .media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .media-section {
    margin-top: 16px !important;
    padding-top: 16px !important;
  }

  .pdf-wrap {
    height: min(62dvh, 520px) !important;
  }

  .video-block.video-block-compact {
    max-width: 100% !important;
  }

  /* 标签页横向滑动 */
  .policy-tab-bar,
  .business-inline-tabs,
  .qual-main-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 8px !important;
    padding-bottom: 4px;
  }

  .policy-tab-bar::-webkit-scrollbar,
  .business-inline-tabs::-webkit-scrollbar,
  .qual-main-tabs::-webkit-scrollbar {
    display: none;
  }

  .policy-tab-chip,
  .preset-chip.back-chip {
    flex-shrink: 0;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }

  /* 灯箱全屏 */
  .lightbox-panel {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
  }

  .lightbox-header {
    cursor: default !important;
    padding: max(10px, env(safe-area-inset-top, 10px)) 12px 10px !important;
  }

  .lightbox-close {
    width: 44px !important;
    height: 44px !important;
  }

  .lightbox-body {
    min-height: 0 !important;
    padding: 10px !important;
  }

  /* 搜索 / 计算器全页 */
  .search-page-header {
    padding: 12px !important;
    padding-top: max(12px, env(safe-area-inset-top, 12px)) !important;
  }

  .page-header-inner {
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: flex-start !important;
  }

  .back-btn {
    min-height: 44px !important;
    padding: 10px 16px !important;
  }

  .search-page-title h2 {
    font-size: 0.95rem !important;
  }

  .search-page-title p {
    font-size: 0.76rem !important;
  }

  .search-page-body {
    padding: 16px 12px 32px !important;
  }

  .calc-page .calc-frame-wrap {
    padding: 12px 12px 28px !important;
    min-height: calc(100dvh - 64px) !important;
  }

  /* 个税计算器 */
  .tax-calc-card-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 14px !important;
  }

  .tax-calc-tools {
    width: 100% !important;
  }

  .tax-calc-tools button {
    min-height: 40px !important;
    flex: 1 1 auto;
  }

  .tax-calc-form {
    padding: 14px !important;
  }

  .tax-calc-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .tax-calc-tabs {
    max-width: 100% !important;
  }

  .tax-calc-table-wrap {
    margin: 0 -4px;
    -webkit-overflow-scrolling: touch;
  }

  .tax-calc-modal {
    padding: 0 !important;
    align-items: flex-end !important;
  }

  .tax-calc-modal-box {
    max-height: 90dvh !important;
    border-radius: 16px 16px 0 0 !important;
    margin: 0 !important;
  }

  .tax-calc-modal-head {
    padding: 14px 16px !important;
  }

  .tax-calc-modal-body {
    padding: 14px 16px 20px !important;
  }

  .tax-calc-panel-wrap {
    padding: 12px !important;
  }

  /* 发票类目 */
  .invoice-table-wrap {
    -webkit-overflow-scrolling: touch;
  }

  .invoice-sample-img {
    height: 110px !important;
  }

  /* 角色条 & 提示 */
  .role-bar {
    padding: 8px 12px !important;
    font-size: 0.74rem !important;
  }

  .toast {
    bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
    left: 16px !important;
    right: 16px !important;
    transform: translateY(80px) !important;
    max-width: none !important;
    text-align: center;
    border-radius: 12px !important;
  }

  .toast.show {
    transform: translateY(0) !important;
  }

  .doc-links {
    flex-direction: column !important;
  }

  .doc-link {
    width: 100% !important;
    justify-content: center;
    min-height: 44px;
  }
}

@media (max-width: 480px) {
  .header {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .logo h1 {
    font-size: 0.92rem !important;
  }

  .main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .sidebar {
    top: calc(env(safe-area-inset-top, 0px) + 108px) !important;
  }

  .media-grid {
    grid-template-columns: 1fr !important;
  }

  .qual-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .preset-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  .tax-calc-summary {
    grid-template-columns: 1fr !important;
  }

  .search-qual-block {
    padding: 14px !important;
  }

  .tax-history-item {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* 触摸设备：去掉 hover 位移，改用按下反馈 */
@media (hover: none) and (pointer: coarse) {
  .preset-chip:hover,
  .cat-item:hover,
  .qual-card:hover,
  .media-img:hover,
  .search-item:hover,
  .doc-link:hover {
    transform: none !important;
  }

  .preset-chip:active,
  .cat-item:active,
  .qual-card:active,
  .action-btn:active,
  .back-btn:active {
    opacity: 0.88;
  }
}
