/* ==========================================================
 * responsive.css - 响应式适配
 * 断点：1200 / 992 / 768 / 480
 * 优先保证手机端显示正常
 * ========================================================== */

/* ---------- 大屏微调 ≤1200px ---------- */
@media (max-width: 1200px) {
  :root { --container: 100%; }
  .banner-slider .container { grid-template-columns: 1fr 260px; }
  .grids { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- 小屏笔记本 ≤1366px：隐藏菜单 emoji，防止导航溢出 ---------- */
@media (max-width: 1366px) {
  .nav-main .ico { display: none; }
  .nav-main > li > a { padding: 0 9px; font-size: 13.5px; }
}

/* ---------- 平板 ≤1100px：收起为汉堡菜单 ---------- */
@media (max-width: 1100px) {
  .nav-main { display: none; }
  .nav-right .nav-login { display: none; }
  .nav-toggle { display: flex; }
}

/* ---------- 平板 ≤992px ---------- */
@media (max-width: 992px) {
  .grids { grid-template-columns: repeat(3, 1fr); }
  .vip-plans { grid-template-columns: repeat(2, 1fr); }
  .modown-ad-items { grid-template-columns: repeat(2, 1fr); }
  .cat-layout { grid-template-columns: 1fr; }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-head { grid-template-columns: 260px 1fr; }
  .related .grids { grid-template-columns: repeat(3, 1fr); }
  .footer .f-top { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .sidebar { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .sidebar .widget { margin-bottom: 0; }
}

/* ---------- 手机横竖屏 ≤768px ---------- */
@media (max-width: 768px) {
  body { padding-bottom: 52px; }

  /* 隐藏桌面导航，显示汉堡 */
  .nav-main { display: none; }
  .nav-right .nav-login { display: none; }
  .nav-toggle { display: flex; }
  .header .container { gap: 10px; }
  .logo-text span { display: none; }
  .nav-right .nav-vip a { height: 30px; padding: 0 12px; font-size: 12px; }

  /* Banner 单列 */
  .banner-slider { padding: 12px 0 0; }
  .banner-slider .container { grid-template-columns: 1fr; gap: 10px; }
  .slider-left { height: 190px; }
  .slide-item a { padding: 18px 16px; }
  .slide-item h3 { font-size: 18px; }
  .slide-item p { font-size: 12.5px; }
  .slider-right { grid-template-rows: none; grid-template-columns: repeat(2, 1fr); height: 84px; }
  .slider-right .item a { padding: 12px; }
  .slider-right .item b { font-size: 13px; }
  .slider-right .item span { font-size: 11px; }
  .slider-arrow { display: none; }

  /* 搜索 */
  .slider-bottom-search { padding: 10px 0; }
  .search-form { height: 42px; }
  .search-form button { width: 76px; font-size: 14px; }

  /* 广告入口：横向滑动 */
  .modown-ad-items {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .modown-ad-items .item { padding: 11px 12px; gap: 9px; }
  .modown-ad-items .ad-ico { width: 34px; height: 34px; font-size: 17px; border-radius: 8px; }
  .modown-ad-items .ad-txt b { font-size: 13px; }
  .modown-ad-items .ad-txt span { font-size: 11px; }

  /* 板块 */
  .main { padding: 12px 0 24px; }
  .mocat { margin-bottom: 26px; }
  .mocat > .container > h2 { font-size: 17px; }
  .child {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    margin-bottom: 12px;
  }
  .child::-webkit-scrollbar { display: none; }
  .child li a { white-space: nowrap; font-size: 12.5px; padding: 4px 12px; }

  /* 卡片两列 */
  .grids { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .post.grid .con { padding: 9px 10px 11px; }
  .post.grid h3 { font-size: 13.5px; min-height: 38px; -webkit-line-clamp: 2; line-clamp: 2; }
  .post.grid .excerpt { display: none; }
  .post.grid .cat { font-size: 11px; margin-bottom: 4px; }
  .post.grid .grid-meta { font-size: 11px; margin-top: 7px; padding-top: 7px; }

  /* 列表模式：手机端降级为紧凑横排 */
  .grid-list { grid-template-columns: 1fr; }
  .grid-list .post.grid { grid-template-columns: 110px 1fr; }
  .grid-list .post.grid .img { min-height: 82px; }
  .grid-list .post.grid .excerpt { display: none; }
  .grid-list .post.grid h3 { min-height: auto; font-size: 13.5px; }

  /* 会员价格表：单列横向滑动 */
  .vip-section .sec-title { font-size: 19px; }
  .vip-plans {
    grid-template-columns: repeat(4, 78%);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding-bottom: 8px;
    margin: 0 -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .vip-plans::-webkit-scrollbar { display: none; }
  .vip-plan { scroll-snap-align: center; padding: 20px 14px 18px; }
  .vip-plan .p-price .num { font-size: 28px; }

  /* 分类页 */
  .page-hero { padding: 18px 0 16px; margin-bottom: 14px; }
  .page-hero h1 { font-size: 19px; }
  .page-hero .hero-desc { font-size: 12.5px; }
  .breadcrumb { font-size: 12px; }
  .cat-toolbar { padding: 10px 12px; gap: 8px; }
  .cat-toolbar .sort-tabs a { padding: 3px 10px; font-size: 12.5px; }
  .sidebar { grid-template-columns: 1fr; }
  .pagination a, .pagination span { min-width: 32px; height: 32px; font-size: 12.5px; }

  /* 详情页 */
  .detail-main { padding: 14px; }
  .detail-head { grid-template-columns: 1fr; gap: 14px; }
  .detail-cover { max-width: 100%; }
  .detail-info h1 { font-size: 18px; margin-bottom: 8px; }
  .detail-info .excerpt { font-size: 13px; padding: 9px 12px; }
  .detail-price-box { padding: 10px 0; gap: 10px; }
  .detail-price-box .now { font-size: 26px; }
  .detail-actions { gap: 8px; }
  .detail-actions .btn { flex: 1; min-width: 120px; height: 42px; }
  .detail-stats { gap: 14px; font-size: 12px; }
  .detail-body h2 { font-size: 15.5px; margin: 20px 0 10px; }
  .detail-body p { font-size: 13.5px; }
  .download-panel { padding: 18px 14px; margin-top: 18px; }
  .download-panel h3 { font-size: 15.5px; }
  .related .grids { grid-template-columns: repeat(2, 1fr); }

  /* 单页 */
  .single-page { padding: 18px 16px; }
  .single-page h1 { font-size: 20px; }
  .single-page h2 { font-size: 16.5px; }
  .single-page table { font-size: 12.5px; display: block; overflow-x: auto; white-space: nowrap; }

  /* 页脚 */
  .footer { padding-top: 28px; }
  .footer .f-top { grid-template-columns: repeat(2, 1fr); gap: 20px; padding-bottom: 20px; }
  .footer .f-brand { grid-column: 1 / -1; }
  .footer h4 { font-size: 14px; margin-bottom: 10px; }

  /* 底部工具栏 */
  .mobile-tabbar { display: flex; }
  .back-top { bottom: 66px; right: 12px; width: 38px; height: 38px; }
}

/* ---------- 小屏手机 ≤480px ---------- */
@media (max-width: 480px) {
  .container { padding: 0 12px; }
  .header .container { padding: 0 12px; }
  .logo-text b { font-size: 14.5px; }
  .logo img { height: 28px; }

  .slider-left { height: 165px; }
  .slide-item h3 { font-size: 16px; }
  .slide-item .s-tag { font-size: 11px; padding: 1px 8px; }

  .grids { gap: 8px; }
  .post.grid h3 { font-size: 13px; min-height: 36px; }
  .post.grid .grid-meta .time { display: none; }

  .modown-ad-items { gap: 8px; }
  .modown-ad-items .item { padding: 9px 10px; }
  .modown-ad-items .ad-ico { width: 30px; height: 30px; font-size: 15px; }
  .modown-ad-items .ad-txt b { font-size: 12px; }
  .modown-ad-items .ad-txt span { font-size: 10.5px; }

  .vip-plans { grid-template-columns: repeat(4, 84%); }
  .detail-info h1 { font-size: 16.5px; }
  .detail-metas .m { font-size: 11.5px; padding: 2px 8px; }
  .detail-stats { gap: 10px; }
  .detail-stats .stat-item:nth-child(n+4) { display: none; }

  .single-page { padding: 16px 13px; }
  .single-page h1 { font-size: 18px; }
  .pagination a, .pagination span { min-width: 30px; height: 30px; padding: 0 7px; }
  .footer .f-top { grid-template-columns: 1fr; gap: 18px; }
}

/* ---------- 超小屏 ≤360px ---------- */
@media (max-width: 360px) {
  .grids { grid-template-columns: 1fr; }
  .related .grids { grid-template-columns: 1fr; }
  .post.grid h3 { min-height: auto; }
}

/* ---------- 打印 / 减少动效 ---------- */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
