/* ============================================
   响应式设计
   ============================================ */

/* 平板端 (768px - 1024px) */
@media (max-width: 1024px) {
    .container {
        padding: 0 15px;
    }

    .main-content {
        gap: 20px;
    }

    .sidebar {
        width: 280px;
    }

    .news-grid {
        grid-template-columns: 1fr;
    }

    .market-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .related-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-content {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 移动端 (< 768px) */
@media (max-width: 768px) {
    /* 顶部栏 */
    .top-bar .container {
        flex-direction: column;
        gap: 10px;
        padding: 10px 15px;
    }

    .top-left, .top-right {
        gap: 10px;
        font-size: 13px;
    }

    .user-avatar {
        width: 24px;
        height: 24px;
    }

    /* 头部 */
    .header-content {
        gap: 15px;
    }

    .logo img {
        height: 40px;
    }

    .search-area {
        max-width: 100%;
    }

    /* 栏目改为一行横向滑动展示，无需再点汉堡才能看到导航 */
    .mobile-menu-btn {
        display: none !important;
    }

    .main-nav {
        position: sticky;
        top: 0;
        z-index: 200;
        border-bottom: 1px solid var(--border-color);
        box-shadow: var(--shadow-sm);
    }

    .main-nav .container {
        padding-left: 0;
        padding-right: 0;
    }

    .nav-menu {
        position: static;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        box-shadow: none;
        background: var(--bg-white);
        padding: 0 8px;
    }

    .nav-menu::-webkit-scrollbar {
        display: none;
    }

    /* 与折叠菜单无关，避免 main.js 切换 .active 时产生异常高度 */
    .nav-menu.active {
        max-height: none;
    }

    .nav-link {
        flex: 0 0 auto;
        padding: 12px 14px;
        font-size: 14px;
        border-bottom: none;
        border-right: 1px solid var(--border-color);
        white-space: nowrap;
    }

    .nav-link:last-child {
        border-right: none;
        padding-right: 20px;
    }

    .nav-link.active {
        background: rgba(26, 115, 232, 0.09);
        color: var(--primary-color);
    }

    /* 主内容区 */
    .site-main {
        padding: 20px 0;
    }

    .main-content {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
    }

    /* 面包屑 */
    .breadcrumb {
        font-size: 13px;
        flex-wrap: wrap;
    }

    /* 区块标题 */
    .title-text {
        font-size: 18px;
    }

    /* 头条新闻 */
    .top-news {
        padding: 15px;
    }

    .featured-img {
        height: 250px;
    }

    .featured-overlay {
        padding: 20px;
    }

    .featured-title {
        font-size: 20px;
    }

    .featured-desc {
        font-size: 14px;
    }

    .featured-meta {
        font-size: 13px;
    }

    .news-title {
        font-size: 14px;
    }

    /* 最新资讯 */
    .news-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .card-img {
        height: 200px;
    }

    .card-title {
        font-size: 15px;
    }

    /* 市场动态 */
    .market-section {
        padding: 15px;
    }

    .market-grid {
        grid-template-columns: 1fr;
    }

    /* 栏目标题 */
    .category-header {
        padding: 20px 15px;
    }

    .category-title {
        font-size: 22px;
    }

    /* 置顶文章 */
    .featured-article-link {
        flex-direction: column;
    }

    .featured-article-img {
        width: 100%;
        height: 200px;
    }

    .featured-article-content {
        padding: 15px;
    }

    .featured-article-title {
        font-size: 18px;
    }

    /* 文章列表 */
    .article-item-link {
        flex-direction: column-reverse;
        padding: 15px;
    }

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

    .article-item-title {
        font-size: 16px;
    }

    .article-item-meta {
        flex-wrap: wrap;
    }

    /* 分页 */
    .pagination-list {
        flex-wrap: wrap;
        gap: 5px;
    }

    .pagination-link {
        padding: 6px 10px;
        font-size: 13px;
    }

    /* 文章详情 */
    .article-detail {
        padding: 20px 15px;
    }

    .article-title {
        font-size: 22px;
    }

    .article-meta {
        flex-direction: column;
        gap: 10px;
    }

    .meta-left, .meta-right {
        flex-wrap: wrap;
        gap: 10px;
    }

    .meta-item {
        font-size: 13px;
    }

    .article-content {
        font-size: 15px;
    }

    .article-share {
        flex-wrap: wrap;
    }

    /* 相关推荐 */
    .related-articles {
        padding: 15px;
    }

    .related-list {
        grid-template-columns: 1fr;
    }

    /* 作者主页 */
    .author-profile {
        padding: 20px 15px;
    }

    .author-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .author-avatar {
        width: 80px;
        height: 80px;
    }

    .author-name {
        font-size: 20px;
    }

    .author-stats {
        flex-wrap: wrap;
        gap: 15px;
    }

    .stat-divider {
        display: none;
    }

    .author-articles {
        padding: 15px;
    }

    .author-article-link {
        flex-direction: column-reverse;
    }

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

    .author-article-title {
        font-size: 16px;
    }

    /* 侧边栏 */
    .widget {
        padding: 15px;
    }

    .widget-title {
        font-size: 16px;
    }

    /* 底部 */
    .footer-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .site-footer {
        padding: 30px 0 15px;
    }

    /* 返回顶部 */
    .back-to-top {
        width: 45px;
        height: 45px;
        bottom: 20px;
        right: 20px;
    }
}

/* 超小屏幕 (< 480px) */
@media (max-width: 480px) {
    .featured-img {
        height: 200px;
    }

    .featured-title {
        font-size: 18px;
    }

    .card-img {
        height: 160px;
    }

    .market-item {
        padding: 15px;
    }

    .article-title {
        font-size: 20px;
    }

    .author-name {
        font-size: 18px;
    }

    .stat-value {
        font-size: 24px;
    }
}
