/* T-MALL-RESP-1025 PC/平板件 mall-desktop.css — 由 01_脚本/scripts/08_工具/css合并.py 从 mall/*.css 生成, 禁止手改。
 * 仅命中 ≥1025px 视口的宽度媒体查询块 (加载于 base 之后)
 * 源清单 (顺序=原加载顺序): layout.css + card.css + category.css + product.css + cart.css + order.css + articles.css + share_dock.css + glass.css + animation.css + liquid.css + theme.css + bg_layer.css + lightbox.css + poster.css + modal.css *//* T-MALL-HEADER-0916-FIX: 桌面端隐藏筛选按钮 — 桌面 .category-drawer 是左栏常显 (非抽屉),
   .open 的 transform 只在 ≤767px 媒体查询内定义, 桌面点按钮无效果, 故隐藏 (仅移动端显示)。
   T-MALL-PERF-1020: 桌面断点 768→1025 (平板归移动端, 左栏在 768-1024 已是抽屉形态, 按钮须显示)。 */
/* T-MALL-HEADER-0916-FIX: 桌面端隐藏筛选按钮 — 桌面 .category-drawer 是左栏常显 (非抽屉),
   .open 的 transform 只在 ≤767px 媒体查询内定义, 桌面点按钮无效果, 故隐藏 (仅移动端显示)。
   T-MALL-PERF-1020: 桌面断点 768→1025 (平板归移动端, 左栏在 768-1024 已是抽屉形态, 按钮须显示)。 */
@media (min-width: 1025px) {
    .filter-btn { display: none; }
}/* 桌面族 (≥1025) 覆盖层永不出现 (汉堡按钮本身 d-lg-none, 此为二重保险) */
/* 桌面族 (≥1025) 覆盖层永不出现 (汉堡按钮本身 d-lg-none, 此为二重保险) */
@media (min-width: 1025px) { .mobile-menu { display: none !important; } }
@media (min-width: 1025px) {
    .login-btn.login-btn--guest.d-lg-none { display: inline-flex !important; }
}/* T-MALL-744BP: 断点 768→744 — iPad mini5 Safari 竖屏 CSS 视口=744px (非768), 与下方 bottom-nav 隐藏断点同步
   T-MALL-PERF-1020: 断点 744→1025 — 平板 (768-1024) 归移动端, 底部导航显示区间扩到 <1025,
   底部留白让位区间同步收窄到桌面 (≥1025, 导航隐藏后)。 */
/* T-MALL-744BP: 断点 768→744 — iPad mini5 Safari 竖屏 CSS 视口=744px (非768), 与下方 bottom-nav 隐藏断点同步
   T-MALL-PERF-1020: 断点 744→1025 — 平板 (768-1024) 归移动端, 底部导航显示区间扩到 <1025,
   底部留白让位区间同步收窄到桌面 (≥1025, 导航隐藏后)。 */
@media (min-width: 1025px) { .site-main { padding-bottom: 48px; } }/* ============================================================
   T-MALL-RESP-1025: 京东式两形态断点体系 (手机一套 ≤1024 / PC+平板一套 ≥1025)
   PC/平板: 1025-1199 流式栅格 (容器随视口伸缩, 无 min-width 地板、无页面级横滚),
   ≥1200 定宽 1200 居中, ≥1440 定宽 1440 居中。
   手机 ≤1024: 底部 tab / 汉堡 / 抽屉形态 (见各 max-width:1024 规则)。
   ============================================================ *//* PC/平板 (≥1025): 流式容器 — 覆盖 Primer .container-lg 1012px 上限,
   1025-1199 区间容器=视口宽-2×24 边距自适应; ⛔ 恢复任何 body min-width 地板。 */

/* ============================================================
   T-MALL-RESP-1025: 京东式两形态断点体系 (手机一套 ≤1024 / PC+平板一套 ≥1025)
   PC/平板: 1025-1199 流式栅格 (容器随视口伸缩, 无 min-width 地板、无页面级横滚),
   ≥1200 定宽 1200 居中, ≥1440 定宽 1440 居中。
   手机 ≤1024: 底部 tab / 汉堡 / 抽屉形态 (见各 max-width:1024 规则)。
   ============================================================ */
/* PC/平板 (≥1025): 流式容器 — 覆盖 Primer .container-lg 1012px 上限,
   1025-1199 区间容器=视口宽-2×24 边距自适应; ⛔ 恢复任何 body min-width 地板。 */
@media (min-width: 1025px) {
    .site-main > .container-lg,
    .site-header .container-lg,
    .container-lg {
        max-width: none;
        width: 100%;
        padding-left: 24px;
        padding-right: 24px;
    }
}/* 定宽居中 (≥1200): 1200px 容器 (24px 内边距含在内, 与移动端 16px 口径同构) */
/* 定宽居中 (≥1200): 1200px 容器 (24px 内边距含在内, 与移动端 16px 口径同构) */
@media (min-width: 1200px) {
    .site-main > .container-lg,
    .site-header .container-lg,
    .container-lg { max-width: 1200px; }
}/* T-MALL-744BP: iPad mini5 Safari 竖屏 CSS 视口=744px (非768), Primer d-md-none 的 ≥768 隐藏
   在 744 失效导致 iPad 真机误显底部导航 (与顶部搜索重复)。744-767 区间仅 iPad 系设备
   (iPhone 最大 430px), 故此处显式 ≥744 隐藏, 不影响手机。
   T-MALL-PERF-1020: 隐藏断点 744→1025 — 平板归移动端, 底部导航在 <1025 (含平板) 显示,
   仅桌面 (≥1025) 隐藏 (与 footer d-lg-none / 顶部 d-lg-flex 同口径)。 */
/* T-MALL-744BP: iPad mini5 Safari 竖屏 CSS 视口=744px (非768), Primer d-md-none 的 ≥768 隐藏
   在 744 失效导致 iPad 真机误显底部导航 (与顶部搜索重复)。744-767 区间仅 iPad 系设备
   (iPhone 最大 430px), 故此处显式 ≥744 隐藏, 不影响手机。
   T-MALL-PERF-1020: 隐藏断点 744→1025 — 平板归移动端, 底部导航在 <1025 (含平板) 显示,
   仅桌面 (≥1025) 隐藏 (与 footer d-lg-none / 顶部 d-lg-flex 同口径)。 */
@media (min-width: 1025px) { .bottom-nav { display: none !important; } }/* 手机/平板一律不出箭头 (JS 内联 display 也压不过 !important) *//* T-NEWARR-GRID225-1029 (2026-10-29 用户裁定): 「近期上新」桌面 rail 撤除,
   改百分比自适应网格 — auto-fit minmax(min(210px,100%),1fr): 基准 ~225px
   (定宽 1152 容器下 5 列×217.6px, 落 ±15% 裁定内; 见下方换算注释),
   卡宽随视口百分比缩放, ⛔overflow-x (无横向滚动条); hover translateY(-6px)
   描边不再被 overflow 轨道裁剪 (grid 无 overflow 裁剪)。卡数 6→10 (四处同口径)。
   封面保持自身等比 (海报 9:16 / 奖状 √2:1), ⛔不重新钳 3:4。
   #custom-columns 「定制资源」rail 保持原样不动。 */ /* 手机/平板一律不出箭头 (JS 内联 display 也压不过 !important) */
/* T-NEWARR-GRID225-1029 (2026-10-29 用户裁定): 「近期上新」桌面 rail 撤除,
   改百分比自适应网格 — auto-fit minmax(min(210px,100%),1fr): 基准 ~225px
   (定宽 1152 容器下 5 列×217.6px, 落 ±15% 裁定内; 见下方换算注释),
   卡宽随视口百分比缩放, ⛔overflow-x (无横向滚动条); hover translateY(-6px)
   描边不再被 overflow 轨道裁剪 (grid 无 overflow 裁剪)。卡数 6→10 (四处同口径)。
   封面保持自身等比 (海报 9:16 / 奖状 √2:1), ⛔不重新钳 3:4。
   #custom-columns 「定制资源」rail 保持原样不动。 */
@media (min-width: 1025px) {
    /* T-CUSTCOLS-1025-1030: #custom-columns 定宽 rail 已撤 — ≥1025 全带
       由文末流式网格块接管 (1025-1199 实测 208px 定宽轨恒 1104px 超容器
       → 必溢出 + Win 可见横滚条, 2K 竖屏 125% 缩放 CSS 宽 1137 命中)。 */
    #new-arrivals .new-arrivals__grid {
        display: grid;
        /* T-MALL-HOMEGRID-1104 (用户裁定 1104): auto-fit 自适应撤除 — 固定 7 列一行,
           7 卡不再 5+2 两行; 卡宽随容器百分比缩放 (≥1200 定宽容器下 ~155-192px)。
           ⛔auto-fill/auto-fit (列数随视口漂移被判「列数不对」); 移动递减链在 articles.css。 */
        grid-template-columns: repeat(7, minmax(0, 1fr));
        gap: 16px;
    }
    /* 封面保持自身等比 (海报 9:16 / 奖状 √2:1), ⛔不套 3:4 钳制 */
    #new-arrivals .product-card .card-image { aspect-ratio: auto; height: auto; }
    #new-arrivals .product-card .card-image img { width: 100%; height: auto; object-fit: initial; }
    /* T-MALL-HOMEGRID-1104: 卡底空白治理 — 用户实测「价格底→卡底 27px」来源 =
       card-body padding-bottom 14px + .card-price min-height 2.6em 两行预留死区 (~13px)。
       本段仅 scope #new-arrivals (全站卡片共用样式, 动全局=首页瀑布流连坐):
       padding-bottom 14→6, price min-height 2.6em→1.3em + line-height 1.3→1.2
       → 单行价格死区 ~7px, 价格底→卡底 ≤16px。 */
    #new-arrivals .product-card { display: flex; flex-direction: column; }
    #new-arrivals .product-card .card-body { padding-bottom: 6px; }
    #new-arrivals .product-card .card-price { min-height: 1.3em; line-height: 1.2; }
    /* 7 列窄卡 (155-192px) 下 chip 行走 flex-wrap (1104 裁定; 全局 .card-meta-row 为
       nowrap, 此处 ID 特异性覆盖仅上新栏目; 瀑布流/全部页保持 nowrap 不连坐) */
    #new-arrivals .product-card .card-meta-row { flex-wrap: wrap; }
    /* 可见细滚动条样式随 T-CUSTCOLS-1025-1030 rail 撤除一并移除
       (#custom-columns 已无 overflow-x 轨道, 无需 scrollbar 规则) */
    /* ‹ › 箭头 (home.js 注入 .rail-wrap 内, 垂直居中于轨道) */
    .rail-wrap { position: relative; }
    .rail-arrow {
        display: flex;
        position: absolute; top: 50%; transform: translateY(-50%);
        z-index: 5; width: 36px; height: 36px; border-radius: 50%;
        border: 1px solid var(--mall-border, #8A8A8E);
        background: var(--mall-bg-secondary, #FFFFFF);
        color: var(--mall-text, #1F2933);
        font-size: 22px; line-height: 1; cursor: pointer;
        align-items: center; justify-content: center;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
        transition: opacity 0.15s ease, color 0.15s ease;
    }
    .rail-arrow:hover { color: var(--mall-accent, #E07D00); }
    .rail-arrow--left { left: 4px; }
    .rail-arrow--right { right: 4px; }
    .rail-arrow:disabled { opacity: 0.25; cursor: default; }
    body[data-night] .rail-arrow {
        background: #2C2C2E; color: #FFFFFF; border-color: rgba(255, 255, 255, 0.15);
    }
}/* ============================================================
T-CUSTCOLS-RESP-1026 → T-CUSTCOLS-1025-1030 (2026-10-30 用户场景实测定案):
定制资源六卡流式网格断点下限 1200px 下沉至 1025px — ≥1025 全带
六列流式铺满容器 (minmax(150px,1fr) + gap 12px, 卡宽随视口百分比缩放),
1025-1199 的 208px 定宽 rail 兜底撤除 (轨内容恒 1104px > 容器 962~1136px
必溢出, 2K 竖屏 + Win 125% 缩放 CSS 宽 1137 命中出横向滚动条); ‹ › 箭头
隐藏断点随之下沉 ≥1025。≥1680 卡宽上限 208px 居中不变; ≤1024 手机一套零改动。
T-CUSTCOLS-1025-1030 断点下沉 CSS 宽 1137 零横滚
特异性 (1,1,0) + 块置于 layout.css 源末, 压过 T-PCRAIL ≥1025 块与
articles.css 基础 grid (同桶合并排 T-PCRAIL 之后, 顺序+特异性双保险)。
============================================================ */

/* ============================================================
T-CUSTCOLS-RESP-1026 → T-CUSTCOLS-1025-1030 (2026-10-30 用户场景实测定案):
定制资源六卡流式网格断点下限 1200px 下沉至 1025px — ≥1025 全带
六列流式铺满容器 (minmax(150px,1fr) + gap 12px, 卡宽随视口百分比缩放),
1025-1199 的 208px 定宽 rail 兜底撤除 (轨内容恒 1104px > 容器 962~1136px
必溢出, 2K 竖屏 + Win 125% 缩放 CSS 宽 1137 命中出横向滚动条); ‹ › 箭头
隐藏断点随之下沉 ≥1025。≥1680 卡宽上限 208px 居中不变; ≤1024 手机一套零改动。
T-CUSTCOLS-1025-1030 断点下沉 CSS 宽 1137 零横滚
特异性 (1,1,0) + 块置于 layout.css 源末, 压过 T-PCRAIL ≥1025 块与
articles.css 基础 grid (同桶合并排 T-PCRAIL 之后, 顺序+特异性双保险)。
============================================================ */
@media (min-width: 1025px) {
    #custom-columns .custom-columns__grid {
        display: grid;
        /* T-MALL-HOMEGRID-1104 (用户裁定 1104): 六列 → 固定 8 列一行 (8 卡不再 6+2) */
        grid-template-columns: repeat(8, minmax(0, 1fr));
        gap: 12px;
        overflow-x: visible;
        padding-bottom: 0;
    }
    #custom-columns .custom-columns__card {
        flex: initial;
        width: auto;
        min-width: 0;
        scroll-snap-align: none;
    }
    /* 卡内字号随卡宽伸缩 (150~208px 卡宽区间线性) */
    #custom-columns .custom-columns__name { font-size: clamp(14px, 1.1vw, 16px); }
    #custom-columns .custom-columns__cta { font-size: clamp(12px, 0.9vw, 13px); }
    /* 六卡一行铺满 → 无横滚, ‹ › 箭头一律隐藏 (仅压 custom-columns 内箭头,
       近期上新 rail 箭头不动; !important 压 home.js 内联 display) */
    #custom-columns .rail-wrap > .rail-arrow { display: none !important; }
}
@media (min-width: 1680px) {
    /* 宽屏卡宽封顶 208px, 整行居中, ⛔无限拉伸
       (T-MALL-HOMEGRID-1104: 六列封顶换算为八列封顶, 与 ≥1025 档列数同步) */
    #custom-columns .custom-columns__grid {
        grid-template-columns: repeat(8, minmax(0, 208px));
        justify-content: center;
    }
}/* ============================================================
T-MALL-HOMEGRID-1104 (用户裁定 1104, 2026-11-04):
1) 全部课件 #product-grid ≥1025 固定 4 列 — scope 用 #product-grid ID
   (特异性 (1,0,0) 压过 card.css 全局 .masonry-grid ≥1025 三列规则),
   ⛔不动 .masonry-grid 全局规则 (首页主流栏目 #waterfall-grid 同 class,
   改全局=瀑布流三列被连坐)。≤1024 移动侧档位链维持现状 (基础 2 列 /
   600-767 显式 2 列), 本块在 desktop 桶, 不连坐 mobile 桶。
2) 近期上新 768-1024 段加 4 列档 (1104 裁定可评项, 768/834 实测无文字
   截断后落地; ≤599:2 / 600-743:3 递减链在 articles.css 不动)。
   区间块 → 合并器归 base 桶; 与 articles.css 同特异性靠源顺序 (layout
   排最前) 会被后载的 min600:3 覆盖 → 用 :is(#id) 抬特异性 (1,1,0)。
3) 1105 更新 (T-HOME4COL-1105): 全局 .masonry-grid ≥1025 已由 card.css 改裁 4 列,
   本块 #product-grid ID 规则与全局同值并存 (冗余不冲突); 768-1024 移动族段
   新增 3 列递减档在 card.css (归 mobile 桶)。
============================================================ */

/* ============================================================
T-MALL-HOMEGRID-1104 (用户裁定 1104, 2026-11-04):
1) 全部课件 #product-grid ≥1025 固定 4 列 — scope 用 #product-grid ID
   (特异性 (1,0,0) 压过 card.css 全局 .masonry-grid ≥1025 三列规则),
   ⛔不动 .masonry-grid 全局规则 (首页主流栏目 #waterfall-grid 同 class,
   改全局=瀑布流三列被连坐)。≤1024 移动侧档位链维持现状 (基础 2 列 /
   600-767 显式 2 列), 本块在 desktop 桶, 不连坐 mobile 桶。
2) 近期上新 768-1024 段加 4 列档 (1104 裁定可评项, 768/834 实测无文字
   截断后落地; ≤599:2 / 600-743:3 递减链在 articles.css 不动)。
   区间块 → 合并器归 base 桶; 与 articles.css 同特异性靠源顺序 (layout
   排最前) 会被后载的 min600:3 覆盖 → 用 :is(#id) 抬特异性 (1,1,0)。
3) 1105 更新 (T-HOME4COL-1105): 全局 .masonry-grid ≥1025 已由 card.css 改裁 4 列,
   本块 #product-grid ID 规则与全局同值并存 (冗余不冲突); 768-1024 移动族段
   新增 3 列递减档在 card.css (归 mobile 桶)。
============================================================ */
@media (min-width: 1025px) {
    #product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}/* T-HOME-COLS3-1029 → T-HOME4COL-1105 (用户裁定 1105, 2026-11-05): 桌面 ≥1025
   固定 4 列 (瀑布流卡宽 ~250px, 4 列裁定; 历史: ≥1025→4/≥1280→5/≥1440→6 →
   1029 裁 3 列 → 1105 裁 4 列)。写死 repeat(4, minmax(0,1fr)) = 百分比宽度随视口
   自动缩放, ⛔auto-fill/auto-fit (列数随视口漂移会被判「列数不对」), ⛔不写死 px 卡宽。
   递减链 (1105 口径): ≥1025:4 → 768-1024:3 (本文件下块) → ≤767:2 (基础/600-767 段维持原状)。 */
/* T-HOME-COLS3-1029 → T-HOME4COL-1105 (用户裁定 1105, 2026-11-05): 桌面 ≥1025
   固定 4 列 (瀑布流卡宽 ~250px, 4 列裁定; 历史: ≥1025→4/≥1280→5/≥1440→6 →
   1029 裁 3 列 → 1105 裁 4 列)。写死 repeat(4, minmax(0,1fr)) = 百分比宽度随视口
   自动缩放, ⛔auto-fill/auto-fit (列数随视口漂移会被判「列数不对」), ⛔不写死 px 卡宽。
   递减链 (1105 口径): ≥1025:4 → 768-1024:3 (本文件下块) → ≤767:2 (基础/600-767 段维持原状)。 */
@media (min-width: 1025px) { .masonry-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }/* T-REL4COL-1105 (用户裁定 1105, 2026-11-05): 详情页相关推荐 #related-grid 桌面 ≥1025
   写死固定 4 列 (取数 loadRelated page_size=4, 4 卡一行排完不换行, ⛔auto-fill/auto-fit)。
   容器与全站瀑布流共用 .masonry-grid (T-HOME4COL-1105 全局已裁 4 列, 本页实测 1440 一行
   4 个), 按降级路径用 #related-grid 专属 ID 选择器 (特异性 (1,0,0)) 同源钉死同值, 防日后
   全局档位再调整连坐详情页; ⛔不动共用类。移动递减链经共用类继承全局: 768-1024:3 /
   600-767:2 / ≤599:2, 不另加 #related-grid 移动规则。 */
/* T-REL4COL-1105 (用户裁定 1105, 2026-11-05): 详情页相关推荐 #related-grid 桌面 ≥1025
   写死固定 4 列 (取数 loadRelated page_size=4, 4 卡一行排完不换行, ⛔auto-fill/auto-fit)。
   容器与全站瀑布流共用 .masonry-grid (T-HOME4COL-1105 全局已裁 4 列, 本页实测 1440 一行
   4 个), 按降级路径用 #related-grid 专属 ID 选择器 (特异性 (1,0,0)) 同源钉死同值, 防日后
   全局档位再调整连坐详情页; ⛔不动共用类。移动递减链经共用类继承全局: 768-1024:3 /
   600-767:2 / ≤599:2, 不另加 #related-grid 移动规则。 */
@media (min-width: 1025px) { #related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .masonry { column-count: 3; } }
@media (min-width: 1200px) { .masonry { column-count: 4; } }/* 桌面端兜底: 左栏筛选常显, 全屏面板永不启用
   T-MALL-PERF-1020: 断点 768→1025 — 平板归移动端, 全屏筛选面板在 ≤1024 可用。 */
/* 桌面端兜底: 左栏筛选常显, 全屏面板永不启用
   T-MALL-PERF-1020: 断点 768→1025 — 平板归移动端, 全屏筛选面板在 ≤1024 可用。 */
@media (min-width: 1025px) {
    .filter-sheet { display: none !important; }
}
@media (min-width: 1025px) {
    .detail-layout { flex-direction: row; align-items: flex-start; gap: 24px; }
    .detail-preview-col { flex: 0 0 58%; }
    /* T-MALL-DETAIL-02: 右栏「资源明细」目录树随左列高度撑出窗口 → 无法整屏浏览。
       sticky + max-height(视口-头部-边距) + overflow-y:auto → 目录树在视口内独立滚动。
       移动端 (<768px) 本 media 块外天然 static, 无需额外恢复。 */
    .detail-info-col { flex: 1; position: sticky; top: calc(var(--mall-header-height, 64px) + 16px); max-height: calc(100vh - var(--mall-header-height, 64px) - 32px); overflow-y: auto; }
}
@media (min-width: 1025px) { .article-masonry { column-count: 4; } }/* 桌面端两栏: 正文 1fr + 侧栏 300px, 推荐区 sticky */

/* 桌面端两栏: 正文 1fr + 侧栏 300px, 推荐区 sticky */
@media (min-width: 1025px) {
    /* T-ARTDOCK-A-1013: 原 max-width:1100px 一并移除 — 正文宽度完全随
       .detail-with-dock 网格左列自适应 (container-lg 1200/1440 内, dock 前
       留 24px grid gap), 1920 屏不再出现正文与 dock 间额外空白 */
    /* T-ART-SIDE-BTNS-1010: __inner 的 overflow:hidden (通栏封面圆角裁切) 会把 sticky
       侧栏的滚动容器锁死在卡片内 → sticky 失效, 侧栏按钮随页面滚走。桌面端改
       overflow:visible 让 sticky 相对视口生效; 封面裁切改由封面自身 border-radius 完成
       (封面恒为卡片首元素, 只需上圆角)。移动端保持 overflow:hidden 原样。 */
    .article-detail__inner { overflow: visible; }
    .article-detail__cover { border-radius: 16px 16px 0 0; }
    .article-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
    .article-detail__side { position: sticky; top: 80px; }
    /* 封面通栏在侧栏出现后不再向右溢出到 gap */
    .article-detail__cover { width: calc(100% + 24px); margin: -28px 0 20px -24px; }
    /* 侧栏内推荐卡: 单列竖排, 收窄间距 */
    .article-detail__recs { margin-top: 0; }
    .article-detail__recs .recs-list { grid-template-columns: 1fr; gap: 12px; }
    .article-detail__recs .rec-card__img { height: 150px; }
    /* T-ART-SIDE-RAIL-1010: 无推荐商品时侧栏列不再收起 — 操作组常驻右列 (300px),
       正文不再 760px 窄栏居中, 封面统一走上方 calc(100% + 24px) 规则
       T-ARTDOCK-1012: 操作组已移出卡片走 .detail-with-dock 220px 右列 (share_dock.css),
       aside 只剩推荐商品卡 — 无推荐时 --noside 收起侧栏列, 正文占满卡片单列 */
    .article-detail__layout--noside { grid-template-columns: minmax(0, 1fr); }
}/* T-MALL7-07 (Q6): 响应式列数 + 超出列数的卡片隐藏 (8列不隐藏)
   T-MALL-HOMEGRID-1104 (用户裁定 1104): 1200-1599 档 5→7 列, 隐藏阈值
   n+6→n+8 (1440×900 实测可见 7 chip; SSR 输出 8 个 → 第 8 个隐藏);
   其余档数值 (默认 8 / 1600-1999:6 / 1199:4 / 767:3) 与 SSR 窗口取数逻辑
   一律不动。1999 档由 max-width 改 1600-1999 区间: 原 ≤1999 级联会连累
   ≤1599 段 (nth-child(n+7) 在 1440 把第 7 个 chip 一并隐藏, 实测可见 6);
   7 列档本身级联已完全覆盖 ≤1599 全段, 1999 档只需管 1600-1999。 */
/* T-MALL7-07 (Q6): 响应式列数 + 超出列数的卡片隐藏 (8列不隐藏)
   T-MALL-HOMEGRID-1104 (用户裁定 1104): 1200-1599 档 5→7 列, 隐藏阈值
   n+6→n+8 (1440×900 实测可见 7 chip; SSR 输出 8 个 → 第 8 个隐藏);
   其余档数值 (默认 8 / 1600-1999:6 / 1199:4 / 767:3) 与 SSR 窗口取数逻辑
   一律不动。1999 档由 max-width 改 1600-1999 区间: 原 ≤1999 级联会连累
   ≤1599 段 (nth-child(n+7) 在 1440 把第 7 个 chip 一并隐藏, 实测可见 6);
   7 列档本身级联已完全覆盖 ≤1599 全段, 1999 档只需管 1600-1999。 */
@media (min-width: 1600px) and (max-width: 1999px) {
    .festival-strip__track { --fest-cols: 6; }
    .festival-strip__track > .festival-chip:nth-child(n+7) { display: none; }
}
@media (min-width: 1025px) {
    .detail-with-dock { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; align-items: start; }
    /* T-DOCK-ICON-1014: sticky 由 top 改 bottom — 容器随滚动钉在视口底部
       (与移动端悬浮组行为一致)。sticky 挂在内层 .share-dock 上, 其包含块 = 全高 wrap
       网格项: 网格 align-items:start 会把列高压成容器自身高 → 无下移空间 sticky 失效;
       wrap 用 align-self:stretch 撑满整行, 内层才能贴到视口底部。 */
    .detail-with-dock .share-dock-wrap--sticky { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; }
    .detail-with-dock .share-dock--sticky { position: sticky; bottom: 16px; margin: 0; }
}
@media (min-width: 1025px) { .share-dock-float { display: none !important; } }/* 1024px: 标准布局 — 桌面左分类栏 sticky + 玻璃, 默认即可 */
/* 1024px: 标准布局 — 桌面左分类栏 sticky + 玻璃, 默认即可 */
@media (min-width: 1025px) {
    .detail-info-card { padding: 22px; }
}
@media (min-width: 1025px) {
    /* 桌面: 默认渐变即可, 保持 */
}/* ≥1024px (桌面): 默认 48px 按钮, 图片 90vw (基态) */
/* ≥1024px (桌面): 默认 48px 按钮, 图片 90vw (基态) */
@media (min-width: 1025px) {
    .lightbox-nav { width: 48px; height: 48px; }
    .lightbox-nav--prev { left: 24px; }
    .lightbox-nav--next { right: 24px; }
}/* T-POSTER-LOCK-1026: PC 表单列限高内滚（预算与 poster.php --poster-fit-h 同口径
   = 100dvh - 头部/按钮区/留白 13rem），配合 .poster-modal max-height 使页面级不出竖滚 */
/* T-POSTER-LOCK-1026: PC 表单列限高内滚（预算与 poster.php --poster-fit-h 同口径
   = 100dvh - 头部/按钮区/留白 13rem），配合 .poster-modal max-height 使页面级不出竖滚 */
@media (min-width: 1025px) {
    .poster-edit-modal .poster-form-col { max-height: calc(100dvh - 13rem); overflow-y: auto; }
}