/* ============================================================
   视频中心新版样式 · 方案 D：网格 + 热门榜侧栏 · 2026-10-14
   深蓝 Banner + 分类胶囊 Tab + 两列视频网格 + 热门 TOP5 + 咨询卡
   仅作用于 .vc-page 容器，不影响站内其他页面
   ============================================================ */

.vc-page,
.vc-page *,
.vc-page *:before,
.vc-page *:after { -webkit-box-sizing: border-box; box-sizing: border-box; }

/* 头部滚动压缩时左浮动 logo/标语会溢出压到下一个 block 上，clear 免疫 */
.vc-page { clear: both; background: #f4f6fa; }

.vc-wrap { width: 1430px; max-width: 100%; margin: 0 auto; padding: 0 15px; }
.vc-page a { text-decoration: none; }
.vc-page ul, .vc-page li { list-style: none; margin: 0; padding: 0; }
.vc-page img { max-width: 100%; border: 0; }
.vc-page h1, .vc-page h3, .vc-page h4 { font-weight: 600; }

/* ---------------- Banner ---------------- */
.vc-banner {
    position: relative;
    overflow: hidden;
    padding: 56px 0 52px;
    background: #021a40;
    background-image: -webkit-linear-gradient(300deg, #021a40 0%, #022a6e 70%, #023793 135%);
    background-image: linear-gradient(160deg, #021a40 0%, #022a6e 70%, #023793 135%);
}
.vc-banner .glow {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    background:
        -webkit-radial-gradient(ellipse 55% 80% at 88% 0%, rgba(4, 80, 194, .45), transparent 60%),
        -webkit-radial-gradient(ellipse 40% 70% at 4% 100%, rgba(247, 196, 51, .10), transparent 55%);
    background:
        radial-gradient(ellipse 55% 80% at 88% 0%, rgba(4, 80, 194, .45), transparent 60%),
        radial-gradient(ellipse 40% 70% at 4% 100%, rgba(247, 196, 51, .10), transparent 55%);
    z-index: 2;
}
.vc-banner .vc-wrap { position: relative; z-index: 3; }
.vc-banner em {
    display: block;
    font-style: normal;
    color: #f7c433;
    font-size: 11px;
    letter-spacing: 5px;
    line-height: 1.4;
}
.vc-banner h1 {
    margin: 10px 0 0;
    color: #fff;
    font-size: 33px;
    font-weight: 600;
    letter-spacing: 9px;
    line-height: 1.3;
}
.vc-banner .sell {
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: 13.5px;
    letter-spacing: 1px;
    line-height: 1.8;
}
.vc-banner .sell b { color: #f7c433; font-weight: 600; }

/* 面包屑：标题右侧，与标题文字底部（基线）对齐 */
.vc-crumbs {
    display: inline-block;
    margin-left: 22px;
    vertical-align: baseline;
    font-size: 12.5px;
    font-weight: 400;
    color: rgba(255, 255, 255, .62);
    letter-spacing: .5px;
    line-height: 1;
    white-space: nowrap;
}
.vc-crumbs a { color: rgba(255, 255, 255, .62); -webkit-transition: color .2s; transition: color .2s; }
.vc-crumbs a:hover { color: #f7c433; }
.vc-crumbs i { font-style: normal; margin: 0 7px; color: rgba(255, 255, 255, .38); }
.vc-crumbs em { display: inline; font-style: normal; font-weight: 400; color: #fff; }

/* ---------------- 分类胶囊 Tab ---------------- */
.vc-tabbar {
    position: -webkit-sticky;
    position: sticky;
    top: 52px;
    z-index: 30;
    background: #fff;
    border-bottom: 1px solid #e3e9f1;
    -webkit-box-shadow: 0 6px 14px rgba(2, 26, 64, .05);
    box-shadow: 0 6px 14px rgba(2, 26, 64, .05);
}
.vc-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 14px;
    padding-top: 13px;
    padding-bottom: 13px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.vc-tabs a {
    display: inline-block;
    padding: 9px 24px;
    border-radius: 24px;
    font-size: 14.5px;
    color: #6b7787;
    letter-spacing: 1px;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .22s;
    transition: all .22s;
}
.vc-tabs a span { margin-left: 5px; font-size: 11.5px; color: #aab4c2; }
.vc-tabs a:hover { color: #023793; background: #f2f6fd; }
.vc-tabs a.on {
    background: #023793;
    color: #fff;
    font-weight: 600;
    -webkit-box-shadow: 0 4px 11px rgba(2, 55, 147, .30);
    box-shadow: 0 4px 11px rgba(2, 55, 147, .30);
}
.vc-tabs a.on span { color: #f7c433; }

/* ---------------- 主体：左网格 + 右侧栏 ---------------- */
.vc-body { padding: 52px 0 56px; }
.vc-cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 38px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.vc-main { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; }
.vc-side { -webkit-box-flex: 0; -ms-flex: 0 0 306px; flex: 0 0 306px; width: 306px; }

.vc-grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 22px;
}
.vc-card {
    background: #fff;
    border: 1px solid #e3e9f1;
    border-radius: 8px;
    overflow: hidden;
    -webkit-transition: all .24s;
    transition: all .24s;
}
.vc-card:hover {
    border-color: #c9d9f2;
    -webkit-box-shadow: 0 8px 20px rgba(2, 55, 147, .10);
    box-shadow: 0 8px 20px rgba(2, 55, 147, .10);
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
}
.vc-thumb {
    display: block;
    position: relative;
    padding-top: 56.25%;
    background: no-repeat center / cover #eef1f7;
    overflow: hidden;
}
.vc-thumb::after {
    content: "";
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .42) 100%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .42) 100%);
    -webkit-transition: background .3s;
    transition: background .3s;
}
.vc-card:hover .vc-thumb::after {
    background: -webkit-linear-gradient(top, rgba(2, 55, 147, .12) 45%, rgba(0, 0, 0, .5) 100%);
    background: linear-gradient(180deg, rgba(2, 55, 147, .12) 45%, rgba(0, 0, 0, .5) 100%);
}
.vc-play {
    position: absolute;
    left: 50%; top: 50%;
    width: 54px; height: 54px;
    margin: -27px 0 0 -27px;
    border-radius: 50%;
    background: rgba(2, 55, 147, .86);
    z-index: 2;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.vc-play::before {
    content: "";
    position: absolute;
    left: 21px; top: 16px;
    border-style: solid;
    border-width: 11px 0 11px 18px;
    border-color: transparent transparent transparent #fff;
}
.vc-card:hover .vc-play { background: #f7c433; -webkit-transform: scale(1.08); transform: scale(1.08); }
.vc-card:hover .vc-play::before { border-left-color: #023793; }
.vc-dur {
    position: absolute;
    right: 8px; bottom: 8px;
    z-index: 2;
    background: rgba(0, 0, 0, .65);
    color: #fff;
    font-size: 12px;
    line-height: 20px;
    padding: 0 8px;
    border-radius: 3px;
    font-style: normal;
}
.vc-info { padding: 20px 22px 22px; }
.vc-cat {
    display: inline-block;
    font-style: normal;
    font-size: 11.5px;
    line-height: 18px;
    color: #023793;
    background: #e8f0ff;
    padding: 0 8px;
    border-radius: 3px;
}
.vc-tit {
    margin: 11px 0 0;
    font-size: 15.5px;
    line-height: 23px;
    height: 46px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-weight: 600;
}
.vc-tit a { color: #1c2530; -webkit-transition: color .2s; transition: color .2s; }
.vc-card:hover .vc-tit a { color: #023793; }
.vc-meta {
    margin: 12px 0 0;
    font-size: 12px;
    line-height: 20px;
    color: #95a1b1;
    overflow: hidden;
}
.vc-meta span { display: inline-block; margin-right: 12px; }
.vc-meta span:last-child { margin-right: 0; }

/* ---------------- 侧栏：热门榜 ---------------- */
.vc-panel {
    background: #fff;
    border: 1px solid #e3e9f1;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 24px;
}
.vc-panel-h {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #f2f5fa;
    padding: 16px 18px;
    font-size: 14.5px;
    font-weight: 700;
    color: #1c2c4a;
    letter-spacing: .5px;
}
.vc-panel-h i { font-style: normal; color: #f0a800; margin-right: 6px; }
.vc-panel-h .more { font-size: 12px; font-weight: 400; color: #98a4b6; }
.vc-panel-h .more:hover { color: #023793; }
.vc-rank { padding: 10px 0 12px; }
.vc-rank li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 18px 22px;
    border-bottom: 1px dashed #eef1f6;
}
.vc-rank li:last-child { border-bottom: 0; }
.vc-rank .no {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16px;
    flex: 0 0 16px;
    width: 16px;
    font-style: normal;
    font-weight: 800;
    font-size: 15px;
    color: #c2cbd9;
    text-align: center;
}
.vc-rank li:nth-child(1) .no,
.vc-rank li:nth-child(2) .no,
.vc-rank li:nth-child(3) .no { color: #f0a800; }
.vc-rank .th {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 84px;
    flex: 0 0 84px;
    width: 84px;
    height: 52px;
    border-radius: 5px;
    background: no-repeat center / cover #eef1f7;
    position: relative;
    overflow: hidden;
}
.vc-rank .th .p {
    position: absolute;
    left: 50%; top: 50%;
    width: 22px; height: 22px;
    margin: -11px 0 0 -11px;
    border-radius: 50%;
    background: rgba(2, 55, 147, .78);
}
.vc-rank .th .p::before {
    content: "";
    position: absolute;
    left: 9px; top: 6px;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #fff;
}
.vc-rank .tx { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; }
.vc-rank .tx a {
    display: block;
    font-size: 13px;
    line-height: 19px;
    color: #2c3a52;
    height: 38px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-transition: color .2s;
    transition: color .2s;
}
.vc-rank .tx a:hover { color: #023793; }
.vc-rank .tx em {
    display: block;
    margin-top: 3px;
    font-style: normal;
    font-size: 11.5px;
    color: #a3aebd;
}

/* ---------------- 侧栏：咨询卡 ---------------- */
.vc-contact {
    background: #021a40;
    background-image: -webkit-linear-gradient(160deg, #021a40 0%, #022a6e 70%, #023793 135%);
    background-image: linear-gradient(160deg, #021a40 0%, #022a6e 70%, #023793 135%);
    border-radius: 8px;
    padding: 52px 39px;
    color: #fff;
    text-align: center;
}
.vc-contact h4 { margin: 0; font-size: 16px; letter-spacing: 1px; color: #fff; }
.vc-contact p {
    margin: 16px 0 0;
    font-size: 12.5px;
    line-height: 1.8;
    color: rgba(255, 255, 255, .72);
}
.vc-contact .btn {
    display: block;
    margin: 22px 0 0;
    background: #f7c433;
    color: #3a2c00;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 40px;
    border-radius: 4px;
    -webkit-transition: background .2s;
    transition: background .2s;
}
.vc-contact .btn:hover { background: #ffd35e; }
.vc-contact .tel {
    display: block;
    margin: 16px 0 0;
    color: rgba(255, 255, 255, .9);
    font-size: 13.5px;
    letter-spacing: 1px;
}
.vc-contact .tel b { color: #f7c433; font-size: 15px; }
.vc-contact .qr {
    margin: 22px 0 0;
    text-align: center;
}
.vc-contact .qr img { display: block; width: 150px; height: 150px; margin: 0 auto; }
.vc-contact .qr span {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: rgba(255, 255, 255, .85);
    letter-spacing: .5px;
}

/* ---------------- 空状态与页码 ---------------- */
.vc-empty {
    display: none;
    background: #fff;
    border: 1px dashed #c9d2df;
    border-radius: 8px;
    padding: 60px 24px;
    text-align: center;
    color: #9aa5b4;
    font-size: 13.5px;
}
.vc-empty a { color: #023793; }

.vc-pager {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    margin-top: 36px;
}
.vc-pager:empty { display: none; }
.vc-pager a.pg {
    display: inline-block;
    min-width: 36px;
    padding: 0 11px;
    line-height: 36px;
    text-align: center;
    font-size: 13.5px;
    color: #5b6777;
    background: #fff;
    border: 1px solid #dfe5ee;
    border-radius: 5px;
    cursor: pointer;
    -webkit-transition: all .2s;
    transition: all .2s;
}
.vc-pager a.pg:hover { border-color: #023793; color: #023793; }
.vc-pager a.pg.on {
    background: #023793;
    border-color: #023793;
    color: #fff;
    font-weight: 600;
    -webkit-box-shadow: 0 4px 11px rgba(2, 55, 147, .28);
    box-shadow: 0 4px 11px rgba(2, 55, 147, .28);
}
.vc-pager a.pg.on:hover { color: #fff; }
.vc-pager a.pg.dis {
    color: #c2cbd9;
    border-color: #eef1f6;
    cursor: default;
    background: #fafbfd;
}
.vc-pager a.pg.dis:hover { border-color: #eef1f6; color: #c2cbd9; }
.vc-pager .pg-gap { color: #b6c0cd; font-size: 13.5px; letter-spacing: 1px; }

/* ---------------- 响应式 ---------------- */
@media screen and (max-width: 1024px) {
    .vc-cols { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 22px; }
    /* 纵向排列时 vc-cols 的 align-items:flex-start 会让 vc-main 按内容收缩，
       卡片少（如某分类只有 1 条）时右侧会空出一块，这里强制撑满（2026-10-24） */
    .vc-cols > .vc-main { width: 100%; }
    .vc-side {
        -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto;
        width: 100%;
        display: -ms-grid;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .vc-panel { margin-bottom: 0; }
    .vc-grid { grid-template-columns: repeat(2, 1fr); }
    /* 末页为奇数个时，最后一张通栏，避免最后一行只剩单个卡片（2026-10-24） */
    .vc-card.vc-card-wide { grid-column: 1 / -1; }
    .vc-card.vc-card-wide .vc-thumb { padding-top: 32%; }
    .vc-banner h1 { font-size: 28px; letter-spacing: 6px; }
}

@media screen and (max-width: 767px) {
    .vc-banner { padding: 26px 0 24px; }
    .vc-banner em { font-size: 10px; letter-spacing: 3px; }
    .vc-banner h1 { font-size: 22px; letter-spacing: 4px; }
    .vc-banner .sell { font-size: 12px; margin-top: 10px; }
    .vc-crumbs { display: none; }
    .vc-tabbar { top: 50px; }
    .vc-tabbar .vc-wrap { padding: 0 10px; }
    .vc-tabs { gap: 8px; padding-top: 10px; padding-bottom: 10px; }
    .vc-tabs a { padding: 7px 15px; font-size: 13px; letter-spacing: 0; }
    .vc-tabs a span { font-size: 10.5px; margin-left: 3px; }
    .vc-body { padding: 28px 0 32px; }
    .vc-grid { gap: 12px; }
    .vc-card { border-radius: 7px; }
    .vc-play { width: 40px; height: 40px; margin: -20px 0 0 -20px; }
    .vc-play::before { left: 15px; top: 12px; border-width: 8px 0 8px 13px; }
    .vc-dur { font-size: 10.5px; line-height: 17px; padding: 0 6px; right: 6px; bottom: 6px; }
    .vc-info { padding: 12px 12px 13px; }
    .vc-cat { font-size: 10.5px; line-height: 16px; padding: 0 6px; }
    .vc-tit { font-size: 13px; line-height: 19px; height: 38px; margin-top: 7px; }
    .vc-meta { font-size: 11px; margin-top: 7px; }
    .vc-meta span { margin-right: 8px; }
    /* 移动端不显示右侧栏：热门视频 TOP6 + 免费选型·技术咨询
       底部固定导航已承担咨询入口（2026-10-24） */
    .vc-side { display: none; }
    .vc-rank .th { -webkit-box-flex: 0; -ms-flex: 0 0 66px; flex: 0 0 66px; width: 66px; height: 42px; }
    .vc-contact .qr img { width: 116px; height: 116px; }
    .vc-pager { gap: 6px; margin-top: 24px; }
    .vc-pager a.pg { min-width: 30px; line-height: 30px; padding: 0 8px; font-size: 12.5px; }
}

@media screen and (max-width: 360px) {
    .vc-tit { font-size: 12.5px; line-height: 18px; height: 36px; }
    .vc-cat { display: none; }
}
