/*
 * 建考帮 · 全站移动端响应式补丁
 * 覆盖羿文导出的 1200px 固定宽桌面布局，避免手机浏览器横向溢出/叠层错乱。
 */

@media (max-width: 768px) {
  :root {
    --ks-banner-height: 200px;
  }

  html {
    -webkit-text-size-adjust: 100%;
  }

  body {
    overflow-x: hidden;
    min-width: 0 !important;
  }

  .ant-layout-content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  html:not(.ks-mobile-app) .pageHeader,
  html:not(.ks-mobile-app) .pageHeader .mainBody {
    min-height: 0 !important;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  /* 核心：1200px 容器改为流式 */
  .mainBody {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  /* 顶栏主导航（App 壳层启用时由 ks_mobile_shell 隐藏） */
  .header {
    height: auto !important;
    line-height: normal !important;
  }
  html:not(.ks-mobile-app) .header .mainBody {
    flex-wrap: wrap !important;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  html:not(.ks-mobile-app) .header .left {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    width: 100% !important;
    scrollbar-width: none;
  }
  html:not(.ks-mobile-app) .header .left::-webkit-scrollbar {
    display: none;
  }
  html:not(.ks-mobile-app) .header .left a {
    flex-shrink: 0 !important;
    font-size: 13px !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;
  }
  html:not(.ks-mobile-app) .header .left a img {
    display: none !important;
  }
  html:not(.ks-mobile-app) .header .right {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 4px;
    font-size: 12px !important;
    margin-top: 4px;
  }
  html:not(.ks-mobile-app) .header .right a {
    padding: 4px 8px !important;
  }

  /* Logo + 搜索 + 快捷入口（App 壳层下隐藏 pageHeader） */
  html:not(.ks-mobile-app) .pageHeader {
    min-height: 0 !important;
    height: auto !important;
    line-height: normal !important;
    padding: 8px 0 !important;
  }
  .pageHeader .mainBody {
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 0 !important;
    gap: 10px;
  }
  .pageHeader .mainBody .left {
    flex-wrap: wrap !important;
    width: 100% !important;
    padding-left: 0 !important;
  }
  .pageHeader .left > a[href="/"] img {
    max-height: 44px !important;
    width: auto !important;
  }
  .pageHeader .left .ks-region {
    margin-left: 8px !important;
  }
  .pageHeader .left .searchInput,
  .pageHeader .left .ant-input-search {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    flex: 1 1 100% !important;
  }
  .pageHeader .right {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: space-around !important;
    gap: 6px;
  }
  .pageHeader .right .menu {
    flex: 1 1 22% !important;
    min-width: 68px !important;
    text-align: center;
  }
  .pageHeader .right .menu img {
    width: 32px !important;
    height: auto !important;
  }
  .pageHeader .right .menu .title span {
    font-size: 11px !important;
  }

  /* 右侧悬浮栏 */
  .rightQrcode {
    display: none !important;
  }

  /* 首页：考试目录 + 轮播改为上下堆叠 */
  .indexPage .topChose {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
  .indexPage .topChose .mainBox {
    position: relative !important;
    left: 0 !important;
    top: auto !important;
    height: auto !important;
    width: 100% !important;
    pointer-events: auto !important;
  }
  .indexPage .topChose .mainBox .showInfo {
    position: relative !important;
  }
  .indexPage .topChose .mainBox .examInfoBox {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    max-height: 280px !important;
    left: auto !important;
    top: auto !important;
  }
  .indexPage .bannerBox {
    position: relative !important;
    width: 100% !important;
    height: var(--ks-banner-height) !important;
    min-height: var(--ks-banner-height) !important;
    margin-top: 0 !important;
  }
  .indexPage .bannerBox .banner-carouse,
  .indexPage .bannerBox .ks-banner-inner,
  .indexPage .bannerBox .ks-banner-fallback {
    height: var(--ks-banner-height) !important;
    min-height: var(--ks-banner-height) !important;
  }

  .indexPage .mainContent,
  .ksHomeMain {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  /* 页脚导航区 */
  .bottomNavigation {
    height: auto !important;
    padding-bottom: 16px;
  }
  .bottomNavigation .mainContent {
    width: 100% !important;
    flex-direction: column !important;
    padding: 24px 12px 0 !important;
    box-sizing: border-box !important;
  }
  .bottomNavigation .mainContent .left {
    flex-direction: column !important;
    width: 100% !important;
    gap: 20px;
  }
  .bottomNavigation .mainContent .left > div {
    width: 100% !important;
  }
  .bottomNavigation .mainContent .right {
    width: 100% !important;
    flex-direction: column !important;
    margin-top: 20px;
    gap: 16px;
  }
  .bottomNavigation .mainContent .right .imgBox {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }

  .footer {
    height: auto !important;
    padding: 12px !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
  }
  .footer span {
    display: block !important;
    text-align: center;
    justify-content: center !important;
    flex-wrap: wrap;
  }

  /* 考试目录页 */
  .ksExamCatalog {
    overflow-x: hidden !important;
  }
  .ksExamCatalog .wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 题库目录 / 列表页常见固定宽 */
  .questionHome {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  .questionHome .banner-carouse,
  .questionHome .banner-carouse .ks-banner-inner,
  .questionHome .banner-carouse .ks-banner-fallback {
    height: var(--ks-banner-height) !important;
    min-height: var(--ks-banner-height) !important;
  }
  .questionHome .examInfo {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  .questionHome .examInfo .typeBox,
  .questionHome .examInfo .moreBox {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .questionHome .examInfo .typeBox .left {
    margin-right: 0 !important;
    margin-bottom: 6px !important;
  }
  .questionHome .examInfo .typeBox .right {
    width: 100% !important;
  }
  .questionHome .topExam,
  .questionHome .exInfoDataBox,
  .listBox,
  .questionHome .paginationItem,
  .pageHeader + .mainContent {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 题库详情 */
  .questionDetails .topBoxHeader,
  .questionDetails .bodyBox,
  .questionDetails .tabsBox {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .questionDetails .tabsBox .mainBody {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }
  .questionDetails header.questionDHeader .mainBody {
    flex-wrap: wrap !important;
  }
  .questionDetails .topBoxHeader .top1,
  .questionDetails .topBoxHeader .top2 {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .questionDetails .bodyBox .item1 .itemBody {
    flex-direction: column !important;
  }
  .questionDetails .bodyBox .item1 .itemBody .left,
  .questionDetails .bodyBox .item1 .itemBody .right {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 列表卡片 */
  .listBox .item {
    flex-wrap: wrap !important;
  }

  /* 表格横向可滚 */
  .ant-table-wrapper {
    overflow-x: auto !important;
  }

  /* 弹层适配窄屏 */
  .ks-bank-picker {
    padding: 12px !important;
  }
  .ks-bank-picker__panel {
    max-height: 85vh !important;
  }
  .ks-bank-picker__grid.switchExamItem {
    flex-direction: column !important;
  }
  .ks-bank-picker__grid .left,
  .ks-bank-picker__grid .right {
    width: 100% !important;
    max-height: 180px !important;
  }
}

@media (max-width: 480px) {
  .ksHomeMain .feat .row {
    grid-template-columns: 1fr !important;
  }
  .ksHomeMain .entranceItem {
    width: 33.33% !important;
  }
  .pageHeader .right .menu {
    flex: 1 1 48% !important;
  }
  .header .left a {
    font-size: 12px !important;
    padding: 6px 6px !important;
  }
}
