/* VPS Tech - responsive.css 移动端适配 */

@media (max-width: 1024px) {
    .container { padding: 0 14px; }
    .layout-archive, .layout-category, .layout-tag, .layout-search,
    .layout-home, .layout-blog, .layout-front, .layout-page, .layout-single {
        grid-template-columns: 1fr;
    }
    .site-sidebar { order: 2; }
    .site-main { order: 1; }
    .post-list { grid-template-columns: 1fr; }
    .header-search input { width: 140px; }
}

@media (max-width: 768px) {
    :root { --vpst-container: 100%; }
    body { font-size: 15px; }
    h1 { font-size: 1.6em; }
    h2 { font-size: 1.3em; }
    h3 { font-size: 1.1em; }

    .site-header { position: static; }
    .header-inner { flex-wrap: wrap; min-height: 56px; padding: 8px 0; }
    .site-branding { flex: 1; }
    .site-brand img { max-height: 40px; }
    .site-brand { font-size: 1.05em; }

    .nav-toggle { display: flex; }
    .primary-nav {
        order: 4; flex-basis: 100%;
        display: none;
    }
    .primary-nav.is-open { display: block; }
    .primary-menu {
        flex-direction: column;
        background: #fff;
        border-top: 1px solid var(--vpst-border);
        margin-top: 8px;
        gap: 0;
    }
    .primary-menu li { width: 100%; }
    .primary-menu a { padding: 12px 16px; border-radius: 0; border-bottom: 1px solid var(--vpst-border); }
    .primary-menu .sub-menu {
        position: static; border: 0; box-shadow: none; display: block;
        background: var(--vpst-bg-soft);
    }
    .primary-menu .sub-menu a { padding-left: 32px; }

    .header-search {
        order: 3; flex: 0 0 auto;
    }
    .header-search input { width: 120px; padding: 6px 8px; font-size: .9em; }
    .header-search button { padding: 6px 10px; }

    .site-content { padding: 16px 0 32px; }

    .post-list { gap: 14px; }
    .post-card { flex-direction: column; }
    .post-card-thumb { flex: 0 0 auto; min-height: 0; aspect-ratio: 16/9; width: 100%; }
    .post-card-body { padding: 12px 14px; }
    .post-card-title { font-size: 1.05em; }
    .post-card-excerpt { -webkit-line-clamp: 2; }
    .post-title { font-size: 1.4em; }
    .post-content { font-size: 1em; line-height: 1.75; }
    .post-meta { gap: 8px; font-size: .85em; }
    .post-navigation { grid-template-columns: 1fr; gap: 8px; }
    .post-navigation .nav-next { text-align: left; }

    .hero-feature .hero-thumb { aspect-ratio: 16/10; }
    .hero-feature .hero-meta { padding: 12px 14px; }
    .hero-feature .hero-title { font-size: 1.2em; }
    .hero-feature .hero-excerpt { display: none; }

    .section-title { font-size: 1.1em; }
    .breadcrumbs { font-size: .85em; }

    .footer-ext { grid-template-columns: 1fr 1fr; gap: 14px; }
    .footer-friends ul { gap: 6px 12px; }
    .footer-menu { gap: 4px 12px; font-size: .9em; }

    .back-to-top { right: 12px; bottom: 16px; width: 40px; height: 40px; }
}

@media (max-width: 480px) {
    .footer-ext { grid-template-columns: 1fr; }
    .header-search input { width: 100px; }
    .error-code { font-size: 4em; }
    .error-title { font-size: 1.3em; }
}
