/* 响应式排版与布局适配系统 */

/* 基础排版缩放 (Mobile First) */
:root {
    --header-height: 60px;
    --section-gap: 3rem;
}

/* 平板端适配 (iPad/Tablets) */
@media (min-width: 768px) {
    :root {
        --header-height: 70px;
        --section-gap: 4rem;
    }

    /* 字体层级提升 */
    .text-responsive-title {
        font-size: 2rem; /* 32px */
        line-height: 1.2;
    }
    
    .text-responsive-body {
        font-size: 1rem; /* 16px */
    }
}

/* 桌面端适配 (Laptops/Desktops) */
@media (min-width: 1024px) {
    :root {
        --header-height: 80px;
        --section-gap: 6rem;
    }

    /* 限制最大宽度保持阅读体验 */
    .container-responsive {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    /* 桌面端字体优化 */
    .text-responsive-title {
        font-size: 2.5rem; /* 40px */
    }
}

/* 响应式网格布局辅助类 */
.grid-responsive {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .grid-responsive {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .grid-responsive {
        grid-template-columns: repeat(3, 1fr);
        gap: 2.5rem;
    }
}

/* 4列布局变体 (用于系列展示) */
.grid-responsive-dense {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 640px) {
    .grid-responsive-dense {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .grid-responsive-dense {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
    }
}

/* 移动端特定优化 */
@media (max-width: 639px) {
    /* 增加移动端点击区域 */
    .nav-link, .btn-mobile {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
    
    /* 移动端全宽处理 */
    .mobile-full {
        width: 100vw;
        margin-left: -1rem;
        margin-right: -1rem;
        border-radius: 0;
    }
    
    /* 模态窗适配 */
    .modal-content-mobile {
        width: 95% !important;
        margin-top: 20% !important;
        max-height: 80vh;
        overflow-y: auto;
    }
}