/* 影搜 CMS - 移动端响应式 */

@media (max-width: 1100px) {
    .detail-layout {
        flex-direction: column;
    }
    .detail-sidebar,
    .detail-sidebar-right {
        width: 100%;
        position: static;
        max-height: none;
    }
    .detail-sidebar { order: 1; }
    .detail-main { order: 0; }
    .detail-sidebar-right { order: 2; }
    .sidebar-cat-list,
    .sidebar-quick-links {
        display: flex;
        flex-wrap: wrap;
        gap: .25rem;
    }
    .sidebar-cat-list a,
    .sidebar-quick-links a {
        margin-bottom: 0;
        font-size: .8rem;
        padding: .25rem .5rem;
    }
    .sidebar-cat-list a .sidebar-cat-count { display: none; }
}

@media (max-width: 768px) {
    /* Nav */
    .nav-toggle { display: block; }
    .site-nav {
        position: fixed;
        top: var(--header-height);
        left: 0;
        right: 0;
        flex-direction: column;
        background: #fff;
        border-bottom: 2px solid var(--border);
        padding: .75rem;
        transform: translateY(-120%);
        transition: .3s;
        z-index: 99;
        box-shadow: 0 8px 16px rgba(0,0,0,.08);
    }
    .site-nav.open { transform: translateY(0); }
    .header-search { display: none; }
    .brand-text { display: none; }

    /* Grid */
    .card-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .75rem; }

    /* Hot scroll */
    .hot-scroll-inner { gap: .75rem; }
    .hot-card { flex: 0 0 130px; width: 130px; }
    .hot-card-cover { height: 180px; }

    /* Hero */
    .hero { padding: 1rem 0; }
    .hero-title { font-size: 1.4rem; }

    /* Detail */
    .info-card h1 { font-size: 1.2rem; }
    .related-grid { grid-template-columns: 1fr; }

    /* Pagination */
    .page-link { padding: .35rem .6rem; font-size: .8rem; }

    /* 用户操作栏：收藏 + 评分 移动端优化 */
    .user-actions-bar {
        flex-direction: column;
        align-items: stretch;
        gap: .6rem;
        padding: .6rem .75rem;
    }
    .fav-btn {
        justify-content: center;
        padding: .5rem 1rem;
        font-size: .88rem;
    }
    .rating-box {
        justify-content: center;
        padding: .35rem 0;
        border-top: 1px solid var(--border-light);
        gap: .35rem;
    }
    .rating-label { font-size: .78rem; }
    .rate-star { font-size: 1.3rem; }
    .rating-info { font-size: .75rem; }
}

@media (max-width: 480px) {
    .card-grid { grid-template-columns: repeat(2, 1fr); gap: .5rem; }
    .card-info { padding: .35rem .45rem; }
    .card-title { font-size: .78rem; }
    .hot-scroll-inner { gap: .5rem; }
    .hot-card { flex: 0 0 110px; width: 110px; }
    .hot-card-cover { height: 155px; }
    .hot-card-title { font-size: .75rem; }
    .detail-poster { max-width: 130px; }
    .dl-item { flex-direction: column; align-items: flex-start; }
}
