/* ============================================================
   一诺CMS - 响应式设计 (Responsive)
   PC: >1024px  |  Pad: 768-1024px  |  Mobile: <768px
   ============================================================ */

/* ===== Pad 端 (768px - 1024px) ===== */
@media (max-width: 1024px) {
  :root {
    --sidebar-width: 220px;
    --ad-sidebar-width: 250px;
  }

  /* 右侧广告位隐藏 */
  .sidebar-right {
    display: none;
  }

  /* 改为两栏: 左栏 + 主内容 */
  .main-wrapper {
    grid-template-columns: var(--sidebar-width) 1fr;
    gap: var(--space-4);
  }

  /* 幻灯高度调整（保持 16:9 自适应，避免 aspect-ratio 反推宽度） */
  .slideshow {
    height: auto;
    width: 100%;
  }

  .slideshow-slide .slide-title {
    font-size: var(--font-size-xl);
  }

  /* 推荐卡片改为 2 列 */
  .featured-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 文章缩略图缩小 */
  .article-thumb {
    width: 160px;
    height: 110px;
  }

  .article-info h3 {
    font-size: var(--font-size-base);
  }

  /* 相关文章 */
  .related-list {
    grid-template-columns: 1fr;
  }

  /* 底部调整：Pad 端 2 列（关于 + 快速链接），隐藏联系与服务、友情链接 */
  .footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
  }

  .footer-contact,
  .footer-friend {
    display: none;
  }

  /* 快速链接：Pad 端 2 列 */
  .footer-links-grid {
    grid-template-columns: 1fr 1fr;
  }

  /* 用户面板隐藏（放到底部导航） */
  .user-panel {
    display: none;
  }
}

/* ===== 移动端 (< 768px) ===== */
@media (max-width: 767px) {
  :root {
    --header-height: 56px;
    --container-padding: var(--space-4);
  }

  /* 隐藏桌面导航 */
  .header-nav,
  .header-search,
  .header-actions {
    display: none;
  }

  /* 显示汉堡菜单 */
  .mobile-menu-toggle {
    display: block;
  }

  /* 显示移动端搜索按钮（靠右，紧挨菜单按钮） */
  .mobile-search-toggle {
    display: block;
    margin-left: auto;
    margin-right: -6px;
  }

  /* 显示移动端音乐播放按钮（滚动按钮之上，与滚动按钮对齐） */
  .mobile-music-toggle {
    display: flex;
    bottom: calc(136px + env(safe-area-inset-bottom, 0px));
    right: var(--space-4);
    width: 40px;
    height: 40px;
  }

  /* 认证页（登录/注册）隐藏汉堡菜单：沉浸式认证页无需侧边导航，用 Logo 返回首页即可 */
  .auth-page .mobile-menu-toggle {
    display: none;
  }

  /* 左侧栏隐藏 */
  .sidebar-left {
    display: none;
  }

  /* 单栏布局 */
  .main-wrapper {
    grid-template-columns: 1fr;
    padding: var(--space-4) var(--container-padding);
    gap: var(--space-4);
  }

  /* 幻灯自适应（宽度占满，高度按 16:9 自动计算） */
  .slideshow {
    height: auto;
    width: 100%;
  }

  .slideshow-btn {
    width: 32px;
    height: 32px;
    font-size: var(--font-size-base);
  }

  .slideshow-slide .slide-overlay {
    padding: var(--space-4);
  }

  .slideshow-slide .slide-title {
    font-size: var(--font-size-base);
  }

  .slideshow-slide .slide-category {
    font-size: 10px;
  }

  .slideshow-thumbs {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-2);
  }

  /* 推荐卡片单列 */
  .featured-grid {
    grid-template-columns: 1fr;
  }

  /* 文章列表项纵向排列 */
  .article-item {
    flex-direction: column;
  }

  .article-thumb {
    width: 100%;
    height: 180px;
  }

  .article-info h3 {
    font-size: var(--font-size-base);
  }

  .article-summary {
    -webkit-line-clamp: 3;
  }

  .article-meta,
  .article-item-meta {
    gap: var(--space-3);
  }

  /* 文章详情 */
  .article-detail-header h1 {
    font-size: var(--font-size-2xl);
  }

  .article-content h2 {
    font-size: var(--font-size-xl);
  }

  .article-content h3 {
    font-size: var(--font-size-lg);
  }

  /* 分页缩小 */
  .pagination {
    gap: var(--space-1);
  }

  .pagination a,
  .pagination span {
    min-width: 36px;
    height: 36px;
    font-size: var(--font-size-xs);
  }

  /* 底部 */
  .footer-inner {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  /* 移动端页脚只保留「关于」介绍 + 版权，隐藏其余列以节省空间 */
  .footer-links,
  .footer-contact,
  .footer-friend {
    display: none;
  }

  .footer-about {
    text-align: center;
  }

  .footer-about-body {
    flex-direction: column;
    align-items: center;
  }

  .footer-about-text {
    align-items: center;
    text-align: center;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  /* 显示移动端底部导航 */
  .mobile-bottom-nav {
    display: block;
  }

  /* 显示移动端侧边抽屉 */
  .sidebar-overlay,
  .mobile-sidebar {
    display: block;
  }

  /* 底部留白给移动导航（含 safe-area，避免 iPhone 底部指示条遮挡版权文字） */
  .site-footer {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }

  /* 认证页（登录/注册）无底部导航，footer 底部留白恢复正常 */
  .auth-page .site-footer {
    padding-bottom: var(--space-6);
  }

  /* 返回顶部按钮调整位置（在底部导航之上，含 safe-area） */
  .back-to-top {
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    right: var(--space-4);
    width: 40px;
    height: 40px;
  }

  /* 搜索页 */
  .search-input-large {
    max-width: 100%;
  }

  .search-input-large input {
    padding: var(--space-3) var(--space-10) var(--space-3) var(--space-4);
    font-size: var(--font-size-sm);
  }

  .search-input-large button {
    width: 32px;
    height: 32px;
    font-size: var(--font-size-base);
  }

  /* 两栏列表变单栏 */
  .article-grid {
    grid-template-columns: 1fr;
  }

  /* ===== 详情页（文章/图集/视频/下载）移动端适配 ===== */
  /* 图集主图区缩小，避免手机上过高 */
  .gallery-main {
    min-height: 220px;
    max-height: 420px;
  }

  /* 操作栏按钮间距收窄 */
  .article-action-bar {
    gap: var(--space-6);
  }

  /* 付费卡片改为纵向排列，居中 */
  .paywall-box {
    flex-direction: column;
    gap: var(--space-3);
    text-align: center;
    padding: var(--space-4);
  }

  /* 下载按钮缩小 */
  .download-btn {
    padding: 10px 24px;
  }

  /* 文件信息网格单列 */
  .download-info-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
  }
}

/* ===== 小屏手机 (< 480px) ===== */
@media (max-width: 479px) {
  .article-thumb {
    height: 150px;
  }

  .slideshow {
    border-radius: var(--radius-md);
  }

  .card {
    border-radius: var(--radius-md);
  }

  .card-header,
  .card-body,
  .card-footer {
    padding: var(--space-4);
  }

  .article-detail-header h1 {
    font-size: var(--font-size-xl);
  }
}

/* ===== 中小屏底部（640px - 767px）：2 列（关于 + 快速链接）===== */
@media (min-width: 640px) and (max-width: 767px) {
  .footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
  }

  .footer-links {
    display: block;
  }

  .footer-contact,
  .footer-friend {
    display: none;
  }

  .footer-links-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-about {
    text-align: left;
  }

  .footer-about-body {
    flex-direction: row;
    align-items: flex-start;
  }

  .footer-about-text {
    align-items: flex-start;
    text-align: left;
  }
}
