/**
 * Responsive Styles
 * 响应式设计样式
 */

/* ==========================================================================
    大屏幕 (≥1200px)
    ========================================================================== */

@media screen and (min-width: 1200px) {
    .container {
        max-width: var(--container-width);
    }
    
    .detail-header__thumb {
        width: 100px;
        height: 100px;
        border-radius: 12px;
    }
    
    .related-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    }
    
    /* 桌面端隐藏移动端侧边栏组件 */
    .sidebar-widgets-mobile {
        display: none !important;
    }
    
    /* 确保侧边栏中的热门和近期更新显示 */
    .sidebar .sidebar-widget--popular,
    .sidebar .sidebar-widget--recent {
        display: block !important;
    }
}

/* ==========================================================================
    平板 (768px - 991px)
    ========================================================================== */

/* ==========================================================================
    中等屏幕 (991px - 1170px)
    ========================================================================== */

@media screen and (min-width: 991px) and (max-width: 1170px) {
    /* 页面主体缩进 */
    body {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    /* 隐藏移动端侧边栏组件 */
    .sidebar-widgets-mobile {
        display: none !important;
    }
    
    /* 确保侧边栏中的热门和近期更新显示 */
    .sidebar .sidebar-widget--popular,
    .sidebar .sidebar-widget--recent {
        display: block !important;
    }
}

/* ==========================================================================
    平板及以下 (≤990px)
    ========================================================================== */

@media screen and (max-width: 990px) {
    /* 页面主体缩进 - 非详情页 */
    body {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    /* 详情页body padding为0 */
    body.single-page {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* 容器调整 */
    .container {
        padding: 0;
    }
    
    /* 分类导航调整 - right 在 left 上面 */
    .category-nav {
        margin: 18px auto 16px;
        padding: 0 15px;
        max-width: var(--container-width);
    }
    
    .category-nav-container {
        flex-direction: column-reverse;
        padding: 12px 0;
    }
    
    .category-nav__left {
        margin-bottom: 8px;
        width: 100%;
    }
    
    .category-nav__right {
        justify-content: flex-start;
        width: 100%;
        padding-right: 0;
        min-width: 0;
    }
    
    /* 页面主布局调整 */
    .page-layout {
        flex-direction: column;
        padding: var(--space-md) 0;
    }

    .single-page .page-layout {
        padding: 0;
    }
    
    .main-content {
        width: 100%;
        padding-right: 0;
        order: 1;
    }
    
    .sidebar {
        width: 100%;
        order: 2;
        margin-top: var(--space-lg);
    }
    
    /* 侧边栏组件在主内容中显示 */
    .sidebar-widgets-mobile {
        display: block;
    }
    
    /* 侧边栏中的热门和近期更新隐藏 */
    .sidebar .sidebar-widget--popular,
    .sidebar .sidebar-widget--recent {
        display: none;
    }
    
    /* 详情页调整 */
    .detail-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .detail-header__thumb {
        width: 160px;
        height: 160px;
        border-radius: 12px;
    }
    
    .detail-header__meta span {
        display: inline-block;
        margin: 0 var(--space-sm);
    }
    
    /* 应用列表调整 - 保持水平布局 */
    .app-item {
        flex-wrap: nowrap;
        padding: var(--space-sm);
        gap: var(--space-sm);
    }

    .app-item__thumb {
        width: 60px;
        height: 60px;
        flex-shrink: 0;
    }

    .app-item__content {
        flex: 1;
        margin-left: var(--space-sm);
        min-width: 0;
        padding-right: var(--space-sm);
    }

    .app-item__name {
        font-size: var(--font-size-sm);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .app-item__meta {
        font-size: var(--font-size-xs);
    }

    /* .app-item__desc {
        display: none;
    } */

    .app-item__action {
        flex-shrink: 0;
        margin-left: var(--space-sm);
        padding: var(--space-xs) var(--space-md);
        font-size: var(--font-size-xs);
    }

    /* 分类页卡片响应式调整 */
    .category-page .app-list {
        gap: 20px;
    }

    .category-page .app-item {
        padding: var(--space-sm);
        gap: var(--space-sm);
    }

    .category-page .app-item__thumb {
        width: 60px;
        height: 60px;
    }

    .category-page .app-item__content {
        flex: 1;
        margin-left: var(--space-sm);
        padding-right: var(--space-sm);
    }

    .category-page .app-item__name {
        font-size: var(--font-size-sm);
    }

    .category-page .app-item__meta {
        display: none;
    }

    /* .category-page .app-item__desc {
        display: none;
    } */

    .category-page .app-item__action {
        padding: 4px 12px;
        font-size: 12px;
    }
    
    /* 网格调整 */
    .grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* 相关文章 */
    .related-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* 下载区域 */
    .download-options {
        flex-direction: column;
    }
    
    .version-select {
        width: 100%;
    }
    
    .version-btn-group {
        flex-wrap: wrap;
    }
    
    /* 详情页软件信息区域 - 保持三栏布局 */
    .software-info-section .info-grid {
        grid-template-columns: minmax(150px, 1fr) minmax(100px, 0.8fr) minmax(150px, 1.2fr);
        gap: 15px;
    }
    
    /* 面包屑 */
    .breadcrumb-container {
        display: none;
    }
}

/* ==========================================================================
    手机 (576px - 767px)
    ========================================================================== */

@media screen and (max-width: 767px) {
    html {
        font-size: 60%;
    }
    
    /* 详情页：隐藏面包屑导航 */
    body.single-page .breadcrumb-container {
        display: none !important;
    }
    
    
    
    /* 分类导航调整 - 左右比container宽出来一小块 */
    .category-nav {
        padding: 0 12px;
    }
    
    .category-nav-container {
        padding: 8px 0;
    }
    
    /* 头部调整 */
    .site-header {
        height: 50px;
    }
    
    .logo {
        font-size: 20px;
    }
    
    .logo__text {
        display: none;
    }
    
    .logo__icon {
        height: 28px;
    }
    
    /* 导航 */
    .main-nav__list {
        display: none;
        position: absolute;
        top: 50px;
        left: 0;
        width: 100%;
        background: linear-gradient(90deg, var(--color-primary), var(--color-primary));
        padding: var(--space-md);
        z-index: 100;
    }
    
    .main-nav__list--open {
        display: flex;
        flex-direction: column;
    }
    
    .main-nav__link {
        padding: var(--space-sm) var(--space-md);
    }
    
    /* 搜索 */
    .search-form__input {
        width: 80px;
    }
    
    .search-form__input:focus {
        width: 120px;
    }
    
    /* 面包屑 */
    .breadcrumb {
        margin-top: var(--space-md);
        margin-bottom: var(--space-md);
        font-size: var(--font-size-md);
    }
    
    /* 详情页 */
    .detail-header {
        padding: var(--space-md);
    }
    
    .detail-header__thumb {
        width: 120px;
        height: 120px;
        border-radius: 12px;
    }
    
    .detail-header__title {
        font-size: var(--font-size-xxl);
    }
    
    /* 文章内容 */
    .article-content {
        padding: var(--space-md);
    }
    
    .article-content__title {
        font-size: var(--font-size-xxl);
    }
    
    .article-content__body {
        font-size: var(--font-size-md);
    }
    
    /* 网格 */
    .grid--4,
    .grid--3,
    .grid--2 {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-sm);
    }
    
    /* 相关文章 */
    .related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-sm);
    }
    
    .related-card {
        padding: var(--space-sm);
    }
    
    .related-card__thumb {
        width: 40px;
        height: 40px;
    }
    
    .related-card__name {
        font-size: var(--font-size-sm);
    }
    
    /* 下载按钮 - 详情页保持横向排布 */
    .software-info-section .download-buttons {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px;
        padding-left: 0;
        justify-content: flex-start;
    }
    
    .software-info-section .download-button {
        flex: 0 1 auto;
        min-width: 120px;
    }
    
    /* 详情页按钮容器保持横向 */
    .software-info-section .buttons-container {
        flex-direction: row !important;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 20px;
    }
    
    .software-info-section .command-section {
        flex: 1;
        min-width: 200px;
    }
    
    .btn-download {
        width: 100%;
        justify-content: center;
    }
    
    .download-buttons {
        flex-direction: column;
    }
    
    /* 信息块 - 详情页软件信息区域保持三栏 */
    .software-info-section .info-grid {
        grid-template-columns: 1fr;
        gap: var(--space-sm);
    }
    
    /* 下载按钮 - 详情页保持横向排布 */
    .software-info-section .download-buttons {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: flex-start;
    }
    
    .software-info-section .download-button {
        flex: 0 1 auto;
        min-width: 100px;
    }
    
    /* 详情页按钮容器保持横向 */
    .software-info-section .buttons-container {
        flex-direction: row !important;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 15px;
    }
    
    .software-info-section .command-section {
        flex: 1;
        min-width: 180px;
    }
    
    .info-block {
        padding: var(--space-sm);
    }

    /* 应用列表调整 - 保持水平布局 */
    .app-item {
        flex-wrap: nowrap;
        padding: var(--space-xs);
        gap: var(--space-xs);
    }

    .app-item__thumb {
        width: 50px;
        height: 50px;
        flex-shrink: 0;
    }

    .app-item__content {
        flex: 1;
        margin-left: var(--space-xs);
        min-width: 0;
        padding-right: var(--space-xs);
    }

    .app-item__name {
        font-size: var(--font-size-sm);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .app-item__meta {
        display: none;
    }

    .app-item__action {
        flex-shrink: 0;
        margin-left: var(--space-xs);
        padding: var(--space-xs) var(--space-sm);
        font-size: var(--font-size-xs);
    }

    /* 分类页卡片响应式调整 */
    .category-page .app-list {
        gap: 15px;
    }

    .category-page .app-item {
        padding: var(--space-md);
        gap: var(--space-xs);
    }

    .category-page .app-item__thumb {
        width: 50px;
        height: 50px;
    }

    .category-page .app-item__action {
        padding: 4px 10px;
        font-size: 12px;
    }
}

/* ==========================================================================
    小手机 (≤575px)
    ========================================================================== */

@media screen and (max-width: 575px) {
    html {
        font-size: 56%;
    }
    
    body {
        padding-top: 50px;
        padding-right: 10px;
        padding-left: 10px;
    }
    
    /* 面包屑 */
    .breadcrumb {
        font-size: var(--font-size-sm);
        padding: 0 5px;
    }
    
    /* 详情页 */
    .detail-header__thumb {
        width: 100px;
        height: 100px;
        border-radius: 12px;
    }
    
    .detail-header__title {
        font-size: var(--font-size-xl);
    }
    
    .detail-header__meta {
        font-size: var(--font-size-md);
    }
    
    /* 网格 - 单列 */
    .grid--4,
    .grid--3,
    .grid--2 {
        grid-template-columns: 1fr;
    }

    /* 应用列表调整 - 小手机 */
    .app-item {
        padding: var(--space-xs);
        gap: var(--space-xs);
    }

    .app-item__thumb {
        width: 50px;
        height: 50px;
    }

    .app-item__content {
        margin-left: var(--space-xs);
        padding-right: var(--space-xs);
    }

    .app-item__name {
        font-size: var(--font-size-xs);
    }

    .app-item__meta {
        display: none;
    }

    .app-item__action {
        padding: 2px 8px;
        font-size: 10px;
    }

    /* 分类页卡片小手机调整 */
    .category-page .app-list {
        gap: 15px;
    }

    .category-page .app-item {
        gap: var(--space-xs);
    }

    .category-page .app-item__thumb {
        width: 50px;
        height: 50px;
    }

    .category-page .app-item__action {
        padding: 2px 8px;
        font-size: 10px;
    }
}

/* ==========================================================================
    侧边栏响应式
    ========================================================================== */

@media (max-width: 991px) {
    .sidebar {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .sidebar {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

/* ==========================================================================
    超小屏幕 (≤480px)
    ========================================================================== */

@media (max-width: 480px) {
    .sidebar {
        width: 100%;
        min-width: 0;
        max-width: 100vw;
        padding: 0;
    }
     .detail-header__meta {
        gap: 0px;
        --meta-divider-margin: -5px;
    }
}

/* ==========================================================================
    极小屏幕 (≤410px)
    ========================================================================== */

@media (max-width: 410px) {
    .sidebar {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
    }
    
    .sidebar-widget {
        border-radius: var(--radius-sm);
        padding: var(--space-xs);
    }
    
    .qr-section {
        padding: var(--space-sm);
        gap: var(--space-sm);
    }
    
    .qr-code img {
        width: 100px;
        height: 100px;
    }
    
    .qr-logo img {
        width: 36px;
        height: 36px;
    }
}

/* ==========================================================================
    侧边栏组件响应式
    ========================================================================== */

@media (max-width: 991px) {
    .sidebar-widget {
        padding: var(--space-sm);
    }
}

@media (max-width: 767px) {
    .sidebar-widget {
        padding: var(--space-xs);
    }
    
    .sidebar-widget__header {
        padding: var(--space-sm);
    }
    
    .sidebar-widget__title {
        font-size: var(--font-size-md);
    }
    
    .sidebar-widget__subtitle {
        font-size: var(--font-size-sm);
    }
}

/* ==========================================================================
    搜索框响应式
    ========================================================================== */

@media (max-width: 991px) {
    .search-form {
        margin: 10px 0;
    }
    
    .search-form__input {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 767px) {
    .search-form__input {
        width: 100%;
        max-width: 100%;
    }
}

/* ==========================================================================
    侧边栏底部响应式
    ========================================================================== */

@media (max-width: 991px) {
    .sidebar-footer {
        justify-content: center;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
    }
    
    .sidebar-footer__item {
        width: 100%;
        margin-bottom: var(--space-sm);
    }
    
    .footer-links {
        width: 100%;
    }
    
    .footer-links .menu,
    .footer-links ul {
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .sidebar-footer {
        padding: var(--space-sm);
        gap: var(--space-xs);
    }
    
    .sidebar-footer__item {
        margin-bottom: var(--space-xs);
    }
    
    .footer-links a {
        font-size: var(--font-size-xs);
        margin-right: var(--space-sm);
    }
    
    .footer-text {
        font-size: var(--font-size-sm);
    }
    
    .footer-copyright {
        font-size: var(--font-size-xs);
    }
    
    .footer-sponsor {
        font-size: var(--font-size-xs);
    }
}

@media (max-width: 480px) {
    .sidebar-footer {
        width: 100%;
        max-width: 100%;
        padding: var(--space-xs);
        box-sizing: border-box;
    }
    
    .sidebar-footer > * {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .footer-links .menu,
    .footer-links ul {
        gap: var(--space-xs) var(--space-sm);
    }
    
    .footer-links a {
        font-size: 11px;
        margin-right: var(--space-xs);
    }
}

@media (max-width: 410px) {
    .sidebar-footer {
        width: 100%;
        max-width: 100%;
        padding: var(--space-xs);
        box-sizing: border-box;
        overflow-wrap: break-word;
        word-break: break-all;
    }
    
    .sidebar-footer > * {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .footer-links .menu,
    .footer-links ul {
        gap: var(--space-xs);
    }
    
    .footer-links a {
        font-size: 10px;
        margin-right: var(--space-xs);
    }
    
    .footer-text {
        font-size: var(--font-size-xs);
    }
    
    .footer-copyright {
        font-size: 10px;
    }
    
    .footer-sponsor {
        font-size: 10px;
    }
}

/* ==========================================================================
    弹窗响应式
    ========================================================================== */

@media (max-width: 991px) {
    .modal-content {
        width: 90%;
        margin: 10% auto;
    }
}

@media (max-width: 767px) {
    .modal-content {
        width: 95%;
        margin: 15% auto;
        padding: var(--space-md);
    }
    
    .modal-header {
        padding: var(--space-sm);
    }
    
    .modal-body {
        padding: var(--space-sm);
    }
    
    .modal-footer {
        padding: var(--space-sm);
    }
}

/* ==========================================================================
    分页响应式
    ========================================================================== */

@media (max-width: 991px) {
    .pagination {
        margin: var(--space-md) 0;
    }
}

@media (max-width: 767px) {
    .pagination {
        margin: var(--space-sm) 0;
    }
    
    .pagination .page-numbers {
        padding: var(--space-xs) var(--space-sm);
        margin: 0 2px;
    }
}

/* ==========================================================================
    面包屑响应式
    ========================================================================== */

@media (max-width: 991px) {
    .breadcrumb {
        margin: var(--space-md) 0;
    }
}

@media (max-width: 767px) {
    .breadcrumb {
        margin: var(--space-sm) 0;
        padding: 0 var(--space-sm);
    }
}

/* ==========================================================================
    移动端优化
    ========================================================================== */

@media (max-width: 767px) {
    .hidden-mobile {
        display: none !important;
    }
    
    .visible-desktop {
        display: none !important;
    }
    
    .visible-tablet {
        display: none !important;
    }
    
    .visible-mobile {
        display: block !important;
    }
    
    .visible-mobile-flex {
        display: flex !important;
    }
}

@media (min-width: 768px) {
    .hidden-mobile {
        display: block !important;
    }
    
    .visible-mobile {
        display: none !important;
    }
    
    .visible-mobile-flex {
        display: none !important;
    }
}

/* ==========================================================================
    触摸设备优化
    ========================================================================== */

@media (hover: none) and (pointer: coarse) {
    .btn:hover,
    .card:hover,
    .app-item:hover {
        transform: none;
    }
    
    .app-item:active {
        background-color: rgba(0, 0, 0, 0.05);
    }
}

/* ==========================================================================
    高分辨率屏幕优化
    ========================================================================== */

@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    .logo__icon {
        image-rendering: -webkit-optimize-contrast;
    }
}


