/*
 * Theme Name: Vikinger - BuddyPress Social Community Child
 * Theme URI: https://odindesignthemes.com/vikinger-theme/
 * Author: Odin Design Themes
 * Author URI: https://themeforest.net/user/odin_design
 * Description: The next generation WordPress+Buddypress social community! We carefully designed this theme for you to have all you need to build an incredible community with full profiles, reactions, groups, badges, quests, ranks, credits and much more to come!
 * Version: 1.0.0
 * License: https://themeforest.net/licenses/
 * License URI: https://themeforest.net/licenses/
 * Text Domain: vikingerchild
 * Template: vikinger
*/

/*------------------------------------------------------------------
 * 分类页搜索框 placeholder（老齐 2026-10-24）
 *
 * category.php 给 input 补了 placeholder="搜索壁纸"，用于移动端
 * （36px 高的压缩搜索框里父主题浮动 label 会与文字打架）。
 * 但桌面端父主题的浮动 label 本来就居中显示在 input 内当占位符用，
 * placeholder 与它会叠成两层同样的文字。
 *
 * 处理：桌面端把 placeholder 文字设为透明（label 继续当占位符），
 * 移动端由 css/vkc-mobile-app.css 的 ≤680px 媒体查询恢复可见色，
 * 并把 label 视觉隐藏 —— 由 placeholder 独占提示职责。
 * ----------------------------------------------------------------*/
.vkc-search-form .form-input.small input::placeholder {
  color: transparent;
  opacity: 1;
}

/*------------------------------------------------------------------
 * 空摘要塌缩（老齐 2026-10-24）
 *
 * 本站导入的文章 excerpt 全为空 → 渲染出的 <p class="post-preview-text"></p>
 * 虽然高度为 0，但父主题给它写了 margin-top:16px，
 * 与 .post-preview-link 的 margin-top:20px 叠加，
 * 在「标题」与「READ MORE...」之间留出 36~60px 的无意义空白
 * （老齐截图3 红圈：标题下方大片留白）。
 *
 * :empty 精确命中空摘要节点（PHP 直出 <p class="post-preview-text"></p>），
 * display:none 后这 16px 空隙一起消失，READ MORE 紧随标题。
 * 有摘要的文章不受影响。
 * ----------------------------------------------------------------*/
.post-preview .post-preview-info .post-preview-text:empty {
  display: none;
}

/*------------------------------------------------------------------
 * SSR post list (category archives) - equal-height cards
 *
 * The parent theme sizes .post-preview.medium cards via fixed pixel
 * heights, which only hold while the viewport stays wide enough for the
 * 2-column grid. These rules stretch every SSR card to the tallest one
 * in its row (grid stretch + flex column + info flex:1) so the
 * "阅读更多" links always line up, at any desktop width. Mobile
 * (<=680px) keeps the theme's natural single-column flow.
 *----------------------------------------------------------------*/
@media screen and (min-width: 681px) {
  .vikingerchild-ssr-list .grid {
    align-items: stretch;
  }

  .vikingerchild-ssr-list .post-preview {
    display: flex;
    flex-direction: column;
  }

  /* 老齐 2026-10-24：info 白卡不再撑高。
   * 父主题 .post-preview .post-preview-info.fixed-height 写死 height:320px，
   * 且 .post-preview-info-bottom 是 height:100% + justify-content:space-between，
   * 本站导入的文章 excerpt 全为空 → <p class="post-preview-text"> 高度 0，
   * space-between 把「READ MORE...」顶到面板最底，
   * 标题与 READ MORE 之间被撑出 218~262px 空洞（老齐截图：卡片白卡大片留白）。
   *
   * 修法：
   *   ① info 面板高度改为内容自适应（覆盖父主题 320px 固定高）；
   *   ② info-bottom 取消 height:100% + space-between，READ MORE 紧随内容；
   *   ③ 取消 .post-preview.medium.post-preview-normal 的 min-height:596px。
   * 同行卡片仍等高：grid align-items:stretch 拉高的是卡片外框，
   * 底栏 .content-actions 用 margin-top:auto 贴底对齐（见下方规则）。
   */
  .vikingerchild-ssr-list .post-preview .post-preview-info.fixed-height {
    height: auto;
    min-height: 120px;
    justify-content: flex-start;
  }

  /* ⚠️ 必须带上 .post-preview .post-preview-info.fixed-height 这段前缀：
   * 父主题规则是 .post-preview .post-preview-info.fixed-height .post-preview-info-bottom
   * （特异性 0,4,0），比这里裸写的 0,2,0 高，不加前缀盖不住它的 height:100%。 */
  .vikingerchild-ssr-list .post-preview .post-preview-info.fixed-height .post-preview-info-bottom {
    flex: 0 0 auto;
    height: auto;
    justify-content: flex-start;
  }

  /* 底栏贴卡片底部：同行卡片底栏水平线一致 */
  .vikingerchild-ssr-list .post-preview .content-actions {
    margin-top: auto;
  }

  /* ⚠️ 父主题 .post-preview.medium.post-preview-normal 有 min-height:596px，
   * 与封面图 320px + info 320px 固定高配套。info 改为自适应后这个下限
   * 反而成了新的高度来源，必须一并解除（否则卡片仍被撑到 596px）。
   * 同时给一个合理下限：封面 146px + info ~120px + 底栏 52px ≈ 318px。 */
  .vikingerchild-ssr-list .post-preview.medium.post-preview-normal {
    min-height: 0;
  }

  .vikingerchild-ssr-list .post-preview.medium.post-preview-no-cover .post-preview-info.fixed-height {
    height: auto;
  }
}

@media screen and (max-width: 680px) {
  .vikingerchild-ssr-list .grid {
    align-items: stretch;
  }

  .vikingerchild-ssr-list .post-preview {
    display: flex;
    flex-direction: column;
  }

  .vikingerchild-ssr-list .post-preview-info,
  .vikingerchild-ssr-list .post-preview-info-bottom {
    flex: 1 1 auto;
  }
}

/*------------------------------------------------------------------
 * 首页 featured 大卡（post-sticky）—— 同样消除 info 面板空洞
 *
 * 老齐 2026-10-24：桌面端 featured 大卡右侧 info 面板被父主题
 * .post-preview.sticky .post-preview-info.fixed-height 写死 300px，
 * 且 info-bottom 是 height:100% + space-between →
 * 标题与「阅读更多」之间被撑出 184px 空洞。
 *
 * 这张卡是首页第一屏主体，空白比列表卡更显眼，一并收口：
 *   ① info 面板高度自适应（父主题 300px → 内容高）
 *   ② info-bottom 取消 height:100% + space-between
 *   ③ 大卡整体高度 390px → 340px
 * ----------------------------------------------------------------*/
@media screen and (min-width: 961px) {
  .vkc-home-section .post-preview.sticky {
    height: 340px;
  }

  .vkc-home-section .post-preview.sticky .post-preview-info,
  .vkc-home-section .post-preview.sticky .post-preview-info.fixed-height {
    height: auto;
    min-height: 0;
    justify-content: flex-start;
  }

  .vkc-home-section .post-preview.sticky .post-preview-info.fixed-height .post-preview-info-bottom {
    flex: 0 0 auto;
    height: auto;
    justify-content: flex-start;
  }
}

/*------------------------------------------------------------------
 * Category archive - forum-style post list
 *
 * Replicates the demo member Forums page
 * (odindesignthemes.com/vikinger-theme/members/odindesign-themes/forums/):
 * a boxed table with a header row (标题|作者|评论|最后活动) and one
 * row per post: title + "作者 avatar name 分类" meta on the left,
 * author / comment count / last activity on the right.
 *----------------------------------------------------------------*/
.vkc-forum-list {
  background-color: var(--color-box-background, #ffffff);
  border-radius: 12px;
  box-shadow: var(--color-box-shadow, 0 0 40px rgba(93, 93, 158, 0.08));
  overflow: hidden;
  margin-top: 20px;
}

.vkc-forum-list-header,
.vkc-forum-row {
  display: grid;
  grid-template-columns: 1fr 110px 70px 140px;
  align-items: center;
  gap: 16px;
}

.vkc-forum-list-header {
  padding: 14px 28px;
  border-bottom: 1px solid rgba(144, 144, 160, 0.2);
}

.vkc-forum-list-header > div {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-header, #adafca);
}

.vkc-forum-list-header .vkc-col-comments,
.vkc-forum-list-header .vkc-col-freshness {
  text-align: center;
}

.vkc-forum-row {
  padding: 18px 28px;
  border-bottom: 1px solid rgba(144, 144, 160, 0.12);
  transition: background-color 0.2s ease;
}

.vkc-forum-row:last-child {
  border-bottom: none;
}

.vkc-forum-row:hover {
  background-color: rgba(97, 93, 250, 0.04);
}

.vkc-topic-permalink {
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text, #3e3f5e);
  transition: color 0.2s ease;
}

.vkc-topic-permalink:hover {
  color: #615dfa;
}

.vkc-pinned-tag {
  display: inline-block;
  margin-right: 8px;
  padding: 2px 8px;
  border-radius: 4px;
  background-color: #ffdf6b;
  color: #3e3f5e;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: 2px;
}

.vkc-topic-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  font-size: 12px;
  color: var(--color-text-secondary, #adafca);
}

.vkc-topic-started-by::after {
  content: '';
}

.vkc-topic-meta-author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.vkc-author-avatar {
  width: 18px;
  height: 18px;
  border-radius: 50%;
}

.vkc-topic-meta-author-title {
  font-weight: 600;
  color: var(--color-text, #3e3f5e);
}

.vkc-topic-meta-author-title:hover {
  color: #615dfa;
}

.vkc-topic-started-in a {
  color: #615dfa;
  font-weight: 600;
}

.vkc-col-author,
.vkc-col-comments,
.vkc-col-freshness {
  font-size: 13px;
  color: var(--color-text-secondary, #adafca);
}

.vkc-col-author {
  font-weight: 600;
  color: var(--color-text, #3e3f5e);
}

.vkc-col-comments {
  text-align: center;
  font-weight: 600;
}

.vkc-col-freshness {
  text-align: center;
}

.vkc-col-freshness a {
  color: var(--color-text, #3e3f5e);
  font-weight: 600;
}

.vkc-col-freshness a:hover {
  color: #615dfa;
}

/*--------------------
    FULL WIDTH FORUM LAYOUT
    去掉侧栏（原 grid-3-9），列表横向拉通整栏
--------------------*/
.vkc-forum-layout {
  width: 100%;
}

/* 顶部筛选条：左侧栏目横向导航，右侧搜索 */
.vkc-forum-filters {
  margin-bottom: 4px;
}

/* 板块标题与筛选栏间距（老齐 2026-10-17：标题和下面导航要有 5px 间距，不要挨得太紧）。
   分类页原本 0px 直接贴死（实测 header 底 = bar 顶）。两条互补覆盖两种分支结构：
   ① 视频墙分支：section-header 与 section-filters-bar 是直接兄弟 → 相邻选择器
   ② forum 列表分支（BGM音效/素材/文案）：筛选栏在 .vkc-forum-layout 内部，
      header 的下一级兄弟是 layout 本身 → 给 layout 加 margin-top */
body.category .section-header + .section-filters-bar {
  margin-top: 5px;
}

body.category .vkc-forum-layout {
  margin-top: 5px;
}

.vkc-forum-filter-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.vkc-category-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.vkc-category-tab {
  padding: 8px 18px;
  border-radius: 8px;
  background-color: var(--color-box-background, #ffffff);
  box-shadow: 0 0 12px rgba(93, 93, 158, 0.1);
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, #3e3f5e);
  transition: background-color 0.2s ease, color 0.2s ease;
}

.vkc-category-tab:hover {
  color: #615dfa;
}

.vkc-category-tab.active {
  background-color: #615dfa;
  color: #ffffff;
}

/* 未开启栏目（老齐 2026-10-17）：count=0 的子分类置灰禁用，
   如视频的 枪械武器/科幻军武/二战系列、BGM 的 金属摇滚。
   灰底灰字、无阴影、禁指针事件——看得见但点不了 */
.vkc-category-tab.disabled {
  background-color: #f2f2f7;
  color: #a8a8bd;
  box-shadow: none;
  cursor: default;
  pointer-events: none;
  user-select: none;
}

.vkc-category-tab.disabled:hover {
  color: #a8a8bd;
}

/* 搜索框缩小（老齐 2026-10-16）：标签排 830px + 间距 20px 后容器仅剩 ~278px，
   固定 220px 保证与子栏目标签同一水平线不换行 */
.vkc-search-form {
  flex: 0 0 auto;
  width: 220px;
  min-width: 0;
}

/* pagination count line - 列表底部统计，右对齐到列表框架右边缘 */
.vkc-list-pagination-count {
  margin: 18px 0 0;
  padding-right: 28px;
  font-size: 12px;
  color: var(--color-text-secondary, #adafca);
  text-align: right;
}

@media screen and (max-width: 960px) {
  .vkc-forum-filter-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .vkc-search-form {
    min-width: 0;
  }
}

/* pagination links */
.vkc-list-pagination {
  margin-top: 20px;
}

.vkc-list-pagination .page-numbers {
  display: inline-block;
  margin-right: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  background-color: var(--color-box-background, #ffffff);
  box-shadow: var(--color-box-shadow, 0 0 40px rgba(93, 93, 158, 0.08));
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, #3e3f5e);
}

.vkc-list-pagination .page-numbers.current {
  background-color: #615dfa;
  color: #ffffff;
}

.vkc-list-pagination .page-numbers:hover {
  color: #615dfa;
}

.vkc-list-pagination .page-numbers.current:hover {
  color: #ffffff;
}

/* search bar inside the category content column */
.vkc-search-form {
  max-width: 420px;
}

/*--------------------
    去掉左侧固定导航条（桌面端）
    #navigation-widget-small：收起态的左侧竖条（hexagon 头像图标）
    #navigation-widget：展开态的完整侧栏
    入口已迁移到顶部导航「动态」(/activity/)，移动端汉堡菜单不受影响
--------------------*/
#navigation-widget-small,
#navigation-widget {
  display: none !important;
}

/* 左侧栏没了，头部左侧的侧栏开关按钮一并隐藏（避免点了没反应） */
.navigation-header .sidemenu-trigger.navigation-widget-trigger,
.sidemenu-trigger.navigation-widget-trigger {
  display: none !important;
}

/*--------------------
    顶部导航栏调整（与内容区左右边缘对齐）
    内容区 .content-grid 宽 1184px。主题 JS 会按"侧栏 80px"计算偏移把内容
    右推（侧栏已隐藏，偏移多余），先让内容真正居中，再让头部内容压进同一宽度。
--------------------*/
/* 0) 内容区真正居中：覆盖主题 JS 写入的 translateX 偏移与 margin */
.content-grid {
  transform: none !important;
  margin: 0 auto !important;
}

/* 1) 隐藏头部搜索框 */
.header .header-actions.search-bar {
  display: none !important;
}

/* 2) 头部内容对齐内容区：背景仍全宽，用对称内边距把品牌/菜单/图标
      压进 1184px 内容区（小屏至少留 24px 呼吸空间） */
.header {
  box-sizing: border-box;
  padding-left: max(24px, calc((100% - 1184px) / 2));
  padding-right: max(24px, calc((100% - 1184px) / 2));
}

/* 品牌文字所有宽度下都显示，并去掉 20px 左边距 */
@media screen and (max-width: 1500px) {
  .header .header-brand .header-brand-text {
    display: block;
  }
}

.header .header-brand .header-brand-text:first-child,
.header .header-brand .header-brand-text {
  margin-left: 0;
}

/* 菜单第一项文字与品牌文字同一基线（去掉多余左内边距） */
.header .menu-main-item:first-child .menu-main-item-link {
  padding-left: 0;
}

.header .header-actions .navigation {
  margin-left: 12px;
}

/* 3) 右侧图标组最后一个图标右内边距归零，与内容区右边缘齐平 */
.header .action-list .action-list-item-wrap:last-child .action-list-item,
.header .action-list .action-list-item:last-child,
.header .action-item-wrap:last-child .action-item {
  padding-right: 0;
}

.header .action-item-wrap:last-child {
  margin-right: 0;
}

/* 未登录态「登录」按钮贴齐内容区右边缘 */
.header .header-actions .login-button:last-child {
  margin-right: 0;
}

/* 4) 去掉头部「等级」进度条 */
.header .progress-stat {
  display: none !important;
}

/* 5) 头部社交图标：抖音 / B站 / 快手 / 视频号 */
.vkc-social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: 18px;
}

.vkc-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  /* 品牌底色由服务端 inline style 提供（抖音/B站/快手/视频号各不相同） */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vkc-social-link svg {
  width: 18px;
  height: 18px;
  fill: #ffffff;
}

.vkc-social-link:hover {
  transform: translateY(-2px) scale(1.08);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

/* 抖音底色 #161823 与 header 深色底 (23,26,33) 几乎一致，图标糊在导航栏里（老齐 2026-10-22）
   → 加 2px 白圈勾边；box-sizing:border-box 保证 34px 尺寸不被撑大 */
.vkc-social-link--ring {
  border: 2px solid #ffffff;
  box-sizing: border-box;
}

/* 横幅 banner：军武暗色兜底（老齐 2026-10-17：换军武 Banner + 色系改军工红/深钢铁灰）
   注意：不可用 background-image !important——模板 section-banner.php 的 inline style 带
   background: url(...)，!important 会把军武背景图盖掉；只兜 background-color，
   背景图加载前/失败时呈现深钢铁灰纯色，与页面底色 #171921 自然衔接 */
.section-banner {
  background-color: #171a21 !important;
}

/* 军武色系（老齐 2026-10-17）：父主题默认紫色方案（customizer preset #615dfa）整体换深钢铁灰。
   覆盖 :root CSS 变量——header / floaty-bar / 下拉菜单背景全部走 --color-header-background */
:root {
  --color-header-background: #171a21;
}

/* 横幅徽章尺寸限制：媒体库上传的是 934px 原图，父主题桌面端未限制 icon 宽高，
   absolute bottom:0 + 原图尺寸会顶部飞出 banner 600+px 且盖住标题（定位元素绘制在
   static 文字之上）。桌面限 132px，移动端父主题已有 92px 规则 */
.section-banner .section-banner-icon {
  width: 132px;
  height: auto;
}

/* 特色大卡书签标（post-sticky tag-sticker）：父主题图标色 --color-icon-highlighted
   在部分配色下近白/青，深色卡片上几乎看不见。军武主题统一改军工红
   （primary 修饰类特异性 0-3-0，必须一并覆盖） */
.tag-sticker .tag-sticker-icon,
.tag-sticker .tag-sticker-icon.primary {
  fill: #c0392b;
}

/* 移动端横幅（≤960px）：父主题此处是 flex 横排 + 86px 定高，长中文标题与副标题
   争宽度被裁切（390px 实测只露出「球库·军武资源库」）。改竖排 + 高度自适应 */
@media screen and (max-width: 960px) {
  .section-banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    min-height: 104px;
    padding: 14px 20px 14px 104px;
  }

  .section-banner .section-banner-icon {
    width: 88px;
    height: auto;
  }

  .section-banner-title {
    font-size: 1.25rem;
    line-height: 1.3;
  }

  .section-banner-text {
    font-size: 0.75rem;
    line-height: 1.5;
    margin-top: 3px;
  }
}

@media screen and (max-width: 680px) {
  .vkc-social {
    display: none;
  }
}

/* 6) 头部品牌块：纯 CSS 实现（首帧即为最终形态，杜绝 JS 注入前的文字挤压变形）
      左 logo（base64 内联）+ 右两行（环球武库资源站 / GLOBAL ARMORY） */
.header .header-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.header .header-brand::before {
  content: '';
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 23%;
  background: url(data:image/png;base64,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) center / contain no-repeat;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}

.header .header-brand .header-brand-text {
  display: block;
  white-space: nowrap;
  font-size: 17px;
  line-height: 1.15;
  margin: 0;
  max-width: none;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.header .header-brand .header-brand-text::after {
  content: 'GLOBAL ARMORY';
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
  margin-top: 3px;
}

/* ---- responsive ---- */
@media screen and (max-width: 960px) {
  .vkc-forum-list-header {
    display: none;
  }

  .vkc-forum-row {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      'title    author    author'
      'title    comments  freshness';
    column-gap: 14px;
    row-gap: 8px;
  }

  .vkc-forum-row .vkc-col-title {
    grid-area: title;
  }

  .vkc-forum-row .vkc-col-author {
    grid-area: author;
    text-align: right;
  }

  /* 评论/最后活动拆成两个区（老齐 2026-10-17）：原先两条都挂 grid-area:meta，
     同网格格的块级子项会完全重叠（375px 截图：评论 0 与 · 活动于 日期糊成一团）；
     现在同一行并列显示 */
  .vkc-forum-row .vkc-col-comments,
  .vkc-forum-row .vkc-col-freshness {
    display: inline;
    text-align: left;
    font-size: 12px;
  }

  .vkc-forum-row .vkc-col-comments {
    grid-area: comments;
  }

  .vkc-forum-row .vkc-col-freshness {
    grid-area: freshness;
  }

  .vkc-forum-row .vkc-col-comments::before {
    /* 父主题 *::before{display:block} 全局重置：不显式 inline 会让标签独占一行 */
    display: inline;
    content: '评论 ';
  }

  .vkc-forum-row .vkc-col-freshness::before {
    display: inline;
    content: '· 活动于 ';
  }
}

@media screen and (max-width: 680px) {
  .vkc-forum-row {
    /* 老齐 2026-10-17：'meta' 区拆不开了（两个 div 同格必重叠）→
       标题/作者各占整行，评论与活动并列最后一行 */
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      'title     title'
      'author    author'
      'comments  freshness';
    column-gap: 10px;
    row-gap: 6px;
  }

  .vkc-forum-row .vkc-col-author {
    text-align: left;
  }
}

/*--------------------
    BGM 音效栏目 - 内联播放器 / 下载列
    沿用 forums 列表骨架，仅把「作者/最后活动」列换成「试听/下载」
--------------------*/
/* 无侧栏拉通后横向空间更宽：标题列放开、播放器列加宽 */
.vkc-forum-list-bgm .vkc-forum-list-header,
.vkc-forum-list-bgm .vkc-forum-row {
  grid-template-columns: minmax(260px, 1fr) 360px 120px 80px;
}

.vkc-forum-list-bgm .vkc-col-comments {
  text-align: center;
}

/* 播放器：原生控件 + color-scheme 让浏览器按暗色渲染 chrome */
.vkc-audio-player {
  width: 100%;
  height: 38px;
  border-radius: 8px;
  color-scheme: dark;
  outline: none;
}

.vkc-audio-player:focus-visible {
  box-shadow: 0 0 0 2px rgba(97, 93, 250, 0.55);
}

.vkc-audio-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 8px 10px;
  font-size: 12px;
}

.vkc-icon-download {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* 未填写网盘地址时的禁用态下载按钮 */
.vkc-audio-download.vkc-download-empty,
.vkc-audio-download.vkc-download-empty:hover {
  background-color: #c9cbd8;
  border-color: #c9cbd8;
  color: #ffffff;
  cursor: not-allowed;
  opacity: 0.75;
}

/* 网盘提取码角标 */
.vkc-dl-code {
  padding: 1px 5px;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0.22);
  font-size: 11px;
  font-weight: 600;
}

.vkc-audio-none {
  font-size: 12px;
  color: var(--color-text-alt, #adafca);
}

/* 详情页/列表页音频卡片（由 the_content filter 注入） */
.vkc-bgm-card {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 22px;
  margin: 0 0 22px;
  border-radius: 12px;
  background-color: var(--color-box-background, #ffffff);
  box-shadow: var(--color-box-shadow, 0 0 40px rgba(93, 93, 158, 0.08));
}

.vkc-bgm-card .vkc-bgm-card-player {
  flex: 1 1 320px;
  min-width: 260px;
}

.vkc-bgm-card .vkc-bgm-card-meta {
  flex: 0 0 auto;
  font-size: 12px;
  color: var(--color-text-alt, #adafca);
}

/* 详情页卡片内的下载按钮：自适应宽度（列表页仍是整列宽） */
.vkc-bgm-card .vkc-audio-download {
  width: auto;
  padding: 10px 20px;
  white-space: nowrap;
}

.vkc-bgm-card .vkc-bgm-card-meta + .vkc-audio-download {
  margin-left: auto;
}

.vkc-bgm-spec {
  margin-bottom: 18px;
}

@media screen and (max-width: 960px) {
  .vkc-forum-list-bgm .vkc-forum-row {
    grid-template-columns: minmax(0, 1fr) 110px;
    grid-template-areas:
      'title  title'
      'audio  download';
    row-gap: 10px;
  }

  .vkc-forum-list-bgm .vkc-forum-row .vkc-col-title {
    grid-area: title;
  }

  .vkc-forum-list-bgm .vkc-forum-row .vkc-col-audio {
    grid-area: audio;
  }

  .vkc-forum-list-bgm .vkc-forum-row .vkc-col-download {
    grid-area: download;
    text-align: right;
  }

  .vkc-forum-list-bgm .vkc-forum-row .vkc-col-comments,
  .vkc-forum-list-bgm .vkc-forum-row .vkc-col-dlcount {
    display: none;
  }
}

@media screen and (max-width: 680px) {
  .vkc-forum-list-bgm .vkc-forum-row {
    grid-template-columns: 1fr;
    grid-template-areas:
      'title'
      'audio'
      'download';
  }

  .vkc-forum-list-bgm .vkc-forum-row .vkc-col-download {
    text-align: left;
  }
}

/*--------------------
    首页板块（home.php）
    主列表 6 条 SSR + BGM 试听板块 3 条 + 壁纸 Photos 网格 6 条
--------------------*/
/* 板块间距：主列表与 BGM/壁纸板块之间留白 */
.vkc-home-section {
  margin-top: 28px;
}

/* 板块底到 footer 间距（老齐 2026-10-17：设 20px 正常边距）：
   原间距 124px = 父主题 .content-grid padding-bottom 100px + 壁纸 photos-masonry
   margin-bottom 24px（子主题 936 行原值），首页最后一个板块到 footer 过远。
   收紧为 20px：grid 100→20、masonry 24→0。
   仅限首页（body.home）——分类页壁纸墙 masonry 后的分页/加载指示仍需要原 24px */
body.home .content-grid {
  padding-bottom: 20px;
}

body.home .vkc-home-section .vkc-photo-wall .photos-masonry {
  margin-bottom: 0;
}

/* BGM 首页板块：只试听 → 两列（标题 + 播放器），无下载列 */
.vkc-home-bgm .vkc-forum-list-header,
.vkc-home-bgm .vkc-forum-row {
  grid-template-columns: minmax(260px, 1fr) 360px;
}

/* 首页板块「进入栏目」链接：老齐截图要求从板块底部挪到标题行右侧
   （见 template-part/section/section-header.php 覆盖的 .section-header-action） */
.vkc-home-more {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: #615dfa;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.vkc-home-more:hover {
  color: #4a48e0;
}

/* 标题行右侧动作位：.section-header 原生 flex space-between，
   右侧位子主题接管；flex-wrap + margin-left:auto 保证窄屏换行后仍靠右 */
.vkc-home-section .section-header {
  flex-wrap: wrap;
}

.vkc-home-section .section-header-action {
  align-self: center;
  margin-left: auto;
}

/* 板块/栏目标题字号（老齐 2026-10-16 定稿）：主标题 25px / 副标 18px，
   父主题原为整行 1.625rem(26px)；副标 = .highlighted 高亮计数文字。
   body.category = 栏目归档页（bgmyx/bz/sp 等，body class 实测含 category） */
.vkc-home-section .section-header-info .section-title,
body.category .section-header-info .section-title {
  font-size: 25px;
}

.vkc-home-section .section-header-info .section-title .highlighted,
body.category .section-header-info .section-title .highlighted {
  font-size: 18px;
}

/* 手机端：标题与链接同行放不下 → 链接换行到第二行仍靠右；字号同比缩小 */
@media screen and (max-width: 680px) {
  .vkc-home-section .section-header-info .section-title,
  body.category .section-header-info .section-title {
    font-size: 22px;
  }

  .vkc-home-section .section-header-info .section-title .highlighted,
  body.category .section-header-info .section-title .highlighted {
    font-size: 16px;
  }

  .vkc-home-section .section-header-action {
    margin-top: 2px;
  }
}

/* 主列表空态 */
.vkc-home-empty {
  padding: 28px 0;
  font-size: 14px;
  color: var(--color-text-alt, #adafca);
}

@media screen and (max-width: 960px) {
  .vkc-home-bgm .vkc-forum-row {
    grid-template-columns: minmax(0, 1fr) 110px;
    grid-template-areas:
      'title  title'
      'audio  audio';
    row-gap: 10px;
  }

  .vkc-home-bgm .vkc-forum-row .vkc-col-title {
    grid-area: title;
  }

  .vkc-home-bgm .vkc-forum-row .vkc-col-audio {
    grid-area: audio;
  }
}

@media screen and (max-width: 680px) {
  .vkc-home-bgm .vkc-forum-row {
    grid-template-columns: 1fr;
    grid-template-areas:
      'title'
      'audio';
  }
}

/*--------------------
    博客卡片细节对齐 demo v4 博客页
    https://odindesignthemes.com/vikinger-theme/blog/
    结构与样式尺寸全部沿用主题原生（medium normal 卡）：
    ① 单盒：封面（320px）+ info（90.41% 宽、上移 140px 叠在封面底部）
       + content-actions 底栏（info 之后平级，margin 26px 28px 0 +
       无 border-top 分界线（老齐要求去掉）；高 52px / space-between
       reaction 24px 白圆叠放 / meta-line 间距 22px —— 全部主题原生值）
    ② 左 reactions 表情组+计数（vkreact 数据）/ 右 Comments + Shares 双栏
    ③ READ MORE... = 深色粗体大写，无底色高亮（老齐要求去掉青色块）
--------------------*/

/* READ MORE...：去掉高亮块，恢复主题深色文字（--color-text #3e3f5e） */
.post-preview .post-preview-info .post-preview-link {
  padding: 0;
  background-color: transparent;
  border-radius: 0;
  color: var(--color-text, #3e3f5e);
}

/* 底栏上方分界线去掉（老齐要求 2026-10-16）：
   父主题 .post-preview.medium.post-preview-normal .content-actions 带
   border-top: 1px solid var(--color-divider)；
   子主题后加载 + 同选择器同权重即覆盖成功 */
.post-preview.medium.post-preview-normal .content-actions {
  border-top: none;
}

/* 博客卡片标题字号（老齐要求 2026-10-16：18px）：
   父主题 .post-preview.medium .post-preview-info .post-preview-title 为
   1.5rem(24px)/line-height 1.333em；SSR 卡片标题元素不带 .medium 类，
   走的就是这条。info 面板 fixed-height 320px，缩小标题不影响卡高与底栏定位 */
.post-preview.medium.post-preview-normal .post-preview-info .post-preview-title {
  font-size: 18px;
  line-height: 1.45em;
}

/*--------------------
    PHOTO WALL (壁纸栏目 - demo Photos 页风格)
    复用父主题 .photos-masonry / .photo-preview 原生样式，
    此处仅定制 hover 蒙层内容排版与无封面兜底
--------------------*/
.vkc-photo-wall .photos-masonry {
  margin-bottom: 24px;
}

/* hover 蒙层：与视频栏目一致的「底部渐变」，不要整块压黑 */
.vkc-photo-wall .photo-preview .photo-preview-info {
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  padding: 12px;
  gap: 6px;
  background-color: transparent;
  background-image: linear-gradient(
    to top,
    rgba(8, 10, 18, 0.88) 0%,
    rgba(8, 10, 18, 0.55) 30%,
    rgba(8, 10, 18, 0.12) 62%,
    rgba(8, 10, 18, 0) 85%
  );
}

.vkc-photo-wall .vkc-photo-title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vkc-photo-wall .photo-preview-info .reaction-count-list {
  flex-direction: row;
  align-items: center;
}

.vkc-photo-wall .photo-preview-info .reaction-count-icon {
  width: 14px;
  height: 14px;
  margin-right: 6px;
  fill: #fff;
}

.vkc-photo-wall .photo-preview-info .reaction-count-text {
  font-size: 12px;
  color: #fff;
}

/* 无封面兜底：军武暗色渐变砖 */
.vkc-photo-wall .photo-preview-no-cover .vkc-photo-fallback {
  background: linear-gradient(135deg, #1b1e26 0%, #2e2224 60%, #3a2422 100%);
}

.vkc-photo-wall .photo-preview-no-cover .vkc-photo-fallback::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(192, 57, 43, 0.8);
  border-radius: 6px;
  background:
    linear-gradient(45deg, transparent 46%, rgba(192, 57, 43, 0.8) 46%, rgba(192, 57, 43, 0.8) 54%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, rgba(192, 57, 43, 0.8) 46%, rgba(192, 57, 43, 0.8) 54%, transparent 54%);
}

/*--------------------
    壁纸栏目网格修复（老齐 2026-10-23）
    ------------------------------------------------------------
    故障：桌面端（≥1366px）壁纸墙大片空白，图片只剩顶部 62px。
    根因：父主题 .photos-masonry 是「3 行 10 格大砖模板」
          grid-template-areas: 'a b c c' / 'a d e f' / 'g h i j'
          且用 .photo-preview:nth-child(1..10) 指定 grid-area。
          但本站结构是 <div class="vkc-photo-tile"><a class="photo-preview">
          —— 每个 .photo-preview 都是其父级的第 1 个子元素，
          于是全部命中 :nth-child(1) → 全部 grid-area: a（大砖）。
          第 11 张起落入隐式行，隐式行无 grid-auto-rows 时
          .photo-preview 高度塌陷为内容高 62px → 大片空白。
    修复：桌面端统一改为均匀 4 列网格 + 固定行高 284px，
          并让 .photo-preview 撑满所属网格单元。
-----------------------------------------------------------------*/
.vkc-photo-wall .photos-masonry {
  grid-template-areas: none;
  grid-template-rows: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 284px;
  gap: 16px;
  justify-content: stretch;
}

/* 覆盖父主题 :nth-child(1..10) 的 grid-area（覆盖 10 格大砖模板） */
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(1),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(2),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(3),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(4),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(5),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(6),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(7),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(8),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(9),
.vkc-photo-wall .photos-masonry .photo-preview:nth-child(10) {
  grid-area: auto;
}

/* 图片本体撑满网格单元（否则高度塌陷为内容高） */
.vkc-photo-wall .photos-masonry .photo-preview {
  height: 100%;
  width: 100%;
}

.vkc-photo-wall .photos-masonry .photo-preview-image {
  height: 100%;
}

/* 少量文章（<4 篇）：放弃 demo 固定 3 行 masonry 模板，
   改均匀网格，避免首图被拉成超高砖 + 右侧大片空区 */
.vkc-photo-wall.vkc-photo-sparse .photos-masonry {
  grid-template-areas: none;
  grid-template-rows: none;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 320px;
}

.vkc-photo-wall.vkc-photo-sparse .photos-masonry .photo-preview:nth-child(n) {
  grid-area: auto;
}

@media screen and (max-width: 680px) {
  .vkc-photo-wall.vkc-photo-sparse .photos-masonry {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 200px;
  }
}

/* 桌面端（>=1366px，父主题 masonry 固定 3 行模板仅覆盖前 10 个网格区域）：
   第 11 张起掉进隐式行会高度塌陷，补 grid-auto-rows 与显式行同高(284px) */
@media screen and (min-width: 1366px) {
  .vkc-photo-wall .photos-masonry {
    grid-auto-rows: 284px;
  }
}

/*--------------------
    壁纸详情页（单文章）图片排版
--------------------*/
.vkc-wallpaper-figure {
  margin: 0 0 24px 0;
}

.vkc-wallpaper-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.vkc-wallpaper-figure figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: #8e929c;
  text-align: center;
}

.vkc-wallpaper-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #c9ccd4;
}

.vkc-wallpaper-spec {
  margin: 16px 0;
  padding: 14px 18px;
  list-style: none;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
}

.vkc-wallpaper-spec li {
  /* li 默认 display:list-item 时，带 content 的 ::before 会变成块级 marker
     独占一行（老齐 2026-10-17）；改 block 后三角标回到文字流，同行显示 */
  display: block;
  font-size: 13px;
  line-height: 2;
  color: #aeb2bc;
}

.vkc-wallpaper-spec li::before {
  /* 父主题 vikinger 有全局 *::before,*::after{display:block} 重置（style.css:34），
     会把三角标变成块级独占一行；此处显式拉回 inline，让 ▸ 与文字同行 */
  display: inline;
  content: '▸';
  margin-right: 8px;
  color: #c0392b;
}

.vkc-wallpaper-download a {
  display: inline-block;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background: #c0392b;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease-in-out;
}

.vkc-wallpaper-download a:hover {
  background: #a93226;
}

/*--------------------
    音频播放状态
    js/vkc-audio.js 给正在播放的那一行加上 .vkc-audio-playing
--------------------*/
.vkc-forum-row.vkc-audio-playing,
.vkc-bgm-card.vkc-audio-playing {
  background-color: rgba(97, 93, 250, 0.08);
  box-shadow: inset 3px 0 0 #615dfa;
}

.vkc-forum-row.vkc-audio-playing .vkc-topic-permalink {
  color: #615dfa;
}

/*--------------------
    下载计数列（BGM 栏目）
    原「评论」列改为下载次数统计
--------------------*/
.vkc-forum-list-bgm .vkc-forum-list-header .vkc-col-dlcount,
.vkc-forum-list-bgm .vkc-forum-row .vkc-col-dlcount {
  text-align: center;
}

.vkc-forum-row .vkc-col-dlcount {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, #3e3f5e);
}

.vkc-dl-count {
  display: inline-block;
  min-width: 18px;
  font-variant-numeric: tabular-nums;
}

/* 点击下载后立即反馈（计数已 +1） */
.vkc-audio-download.vkc-download-done {
  background-color: #23d2e2;
}

/*--------------------
    VIDEO WALL (视频栏目 - demo Videos 页风格)
    统一尺寸：放弃父主题 masonry 大小砖混排，所有视频卡固定 16:9，
    两列网格（平板 2 列 / 手机 1 列），暗色蒙层 + 居中播放按钮
--------------------*/
/* 覆盖父主题 masonry 的 grid-template-areas / 行高模板：一行 4 个 */
.vkc-video-wall .photos-masonry {
  grid-template-areas: none;
  grid-template-rows: none;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: auto;
  gap: 18px;
  margin-bottom: 24px;
}

/* 每张卡片统一 16:9，禁掉父主题给前几张卡指定的大砖网格区域 */
.vkc-video-wall .photos-masonry .photo-preview {
  grid-area: auto;
  aspect-ratio: 16 / 9;
  height: auto;
}

/*
 * hover 蒙层：改为「底部渐变」而非整卡压黑。
 * 父主题默认 .photo-preview-info 是 rgba(21,21,31,.96) 的整块黑底，
 * 会把封面全遮住；这里换成由下往上的渐变，上半部保持原图可见
 * （对齐 demo Videos 页的悬停效果）。
 */
.vkc-video-wall .photo-preview .photo-preview-info {
  background-color: transparent;
  background-image: linear-gradient(
    to top,
    rgba(8, 10, 18, 0.88) 0%,
    rgba(8, 10, 18, 0.55) 30%,
    rgba(8, 10, 18, 0.12) 62%,
    rgba(8, 10, 18, 0) 85%
  );
  padding: 12px;
  gap: 6px;
}

/* 4 列卡片较窄，缩小标题字号 */
.vkc-video-wall .photo-preview .vkc-photo-title {
  font-size: 12px;
  -webkit-line-clamp: 2;
}

/* hover 蒙层只留标题：隐藏评论数与时长图标行 */
.vkc-video-wall .photo-preview .photo-preview-info .reaction-count-list {
  display: none;
}

/* 信息蒙层与时长徽章压在渐变之上 */
.vkc-video-wall .photo-preview .photo-preview-info,
.vkc-video-wall .photo-preview .vkc-video-duration {
  z-index: 3;
}

/* 中央播放按钮：默认半透明，hover 变主题色并放大 */
.vkc-video-wall .vkc-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(10, 12, 20, 0.45);
  backdrop-filter: blur(2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), 0 0 0 3px rgba(255, 255, 255, 0.18);
  transition: background-color 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  z-index: 2;
}

.vkc-video-wall .vkc-video-play svg {
  width: 22px;
  height: 22px;
  margin-left: 2px;
  fill: #ffffff;
}

.vkc-video-wall .photo-preview:hover .vkc-video-play {
  background-color: #615dfa;
  transform: translate(-50%, -50%) scale(1.12);
}

/* 右上角时长徽章 */
.vkc-video-wall .vkc-video-duration {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 3px 8px;
  border-radius: 6px;
  background-color: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  z-index: 3;
}

/* 桌面端父主题给 masonry 设了固定行高，视频墙重置回 auto */
@media screen and (min-width: 1366px) {
  .vkc-video-wall .photos-masonry {
    grid-auto-rows: auto;
  }
}

/* 平板横屏：3 列 */
@media screen and (max-width: 1200px) {
  .vkc-video-wall .photos-masonry {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 960px) {
  .vkc-video-wall .photos-masonry {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .vkc-video-wall .vkc-video-play {
    width: 54px;
    height: 54px;
  }

  .vkc-video-wall .vkc-video-play svg {
    width: 24px;
    height: 24px;
  }
}

@media screen and (max-width: 680px) {
  .vkc-video-wall .photos-masonry {
    grid-template-columns: 1fr;
  }
}

/* 视频卡片 hover 蒙层里的时间图标（与评论数同排） */
.vkc-video-wall .photo-preview-info .reaction-count {
  opacity: 1;
}

.vkc-video-wall .photo-preview-info .reaction-count svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* 详情页视频播放器卡片（the_content filter 注入） */
.vkc-video-card-single {
  margin: 0 0 22px;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--color-box-background, #ffffff);
  box-shadow: var(--color-box-shadow, 0 0 40px rgba(93, 93, 158, 0.08));
}

.vkc-video-card-single .vkc-video-player {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 620px;
  background-color: #000;
  color-scheme: dark;
}

.vkc-video-card-single .vkc-video-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px 20px;
}

.vkc-video-card-single .vkc-video-card-meta {
  font-size: 12px;
  color: var(--color-text-alt, #adafca);
}

.vkc-video-card-single .vkc-video-download {
  padding: 10px 20px;
  font-size: 12px;
  white-space: nowrap;
}

/*--------------------
    视频详情页 - LIGHTBOX 版式（复刻 demo Videos lightbox）
    整页暗色遮罩，中央弹窗：左侧白色信息面板（作者/时间/描述/下载），
    右侧大播放器，右上角关闭按钮（返回视频栏目）
--------------------*/
/* 视频详情页整体压暗（body class 由 functions.php 注入） */
body.vkc-video-single {
  background-color: #171921;
}

.vkc-video-lightbox-page {
  position: relative;
  min-height: 72vh;
  padding: 56px 4vw 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 右上角关闭按钮 */
.vkc-video-lightbox-close {
  position: absolute;
  top: 20px;
  right: 24px;
  /* 老齐 2026-10-24：原先 z-index:auto，素材详情页的 .vkc-asset-stage
     是后渲染的兄弟节点，直接盖住按钮（elementFromPoint 命中 stage 而非按钮），
     导致「关闭按钮被挤掉」点不到。抬到 5，越过 header 的 z-index:3。 */
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.vkc-video-lightbox-close svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.vkc-video-lightbox-close:hover {
  background-color: #615dfa;
  transform: scale(1.06);
  color: #ffffff;
}

/* 弹窗主体：左信息面板 + 右播放器 */
.vkc-video-lightbox {
  display: flex;
  align-items: stretch;
  width: min(1180px, 100%);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.55);
}

.vkc-video-lightbox-info {
  flex: 0 0 300px;
  display: flex;
  flex-direction: column;
  padding: 26px 24px 24px;
  background-color: #ffffff;
}

.vkc-video-lightbox-user {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vkc-video-lightbox-user .vkc-lightbox-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.vkc-video-lightbox-user-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-text, #3e3f5e);
  line-height: 1.3;
}

.vkc-video-lightbox-user-action {
  font-size: 12px;
  color: var(--color-text-alt, #adafca);
  line-height: 1.4;
}

.vkc-video-lightbox-time {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--color-text-alt, #adafca);
}

.vkc-video-lightbox-title {
  margin: 16px 0 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-text, #3e3f5e);
}

.vkc-video-lightbox-desc {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--color-text-secondary, #6d7089);
  overflow-wrap: break-word;
}

.vkc-video-lightbox-desc p {
  margin: 0 0 10px;
}

.vkc-video-lightbox-desc p:last-child {
  margin-bottom: 0;
}

/* 下载按钮外层包裹（按钮统一由 vkc_render_download_button 输出） */
.vkc-video-lightbox-info .vkc-video-download-wrap {
  margin-top: auto;
  align-self: stretch;
}

.vkc-video-lightbox-info .vkc-video-download-wrap .vkc-video-download {
  padding: 11px 20px;
  font-size: 13px;
  white-space: nowrap;
  align-self: flex-start;
  width: auto;
}

.vkc-video-lightbox-info .vkc-video-download-wrap:first-of-type {
  margin-top: 24px;
}

/* 右侧播放器：白底容器包住视频（原生控件） */
.vkc-video-lightbox-player {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border-left: 1px solid rgba(144, 144, 160, 0.15);
}

.vkc-video-lightbox-player video {
  display: block;
  /* 老齐 2026-10-17：width 100% → auto。原视频顶满容器上/右边缘，圆角裁剪处
     深色画面与深色页面背景直接相接、界限不明显；现四边 margin 5px 留出容器
     白底作框（视频框架缩小、边界清晰）。width 必须改 auto——100% 叠加 margin
     会横向溢出，被 .vkc-video-lightbox 的 overflow:hidden 裁掉；auto 时由 flex
     默认 stretch 撑满（容器宽 - 10px） */
  width: auto;
  height: 100%;
  flex: 1 1 auto;
  min-height: 380px;
  max-height: 660px;
  object-fit: contain;
  background-color: #000000;
  color-scheme: dark;
  margin: 5px;
}

/* B 站视频：iframe 播放器（只放在线观看，无下载） */
.vkc-video-lightbox-player .vkc-video-lightbox-iframe {
  display: block;
  /* 同上：四边 5px 白底框；width 改 auto 避免 100%+margin 溢出被裁 */
  width: auto;
  flex: 1 1 auto;
  min-height: 380px;
  max-height: 660px;
  aspect-ratio: 16 / 9;
  border: none;
  background-color: #000000;
  margin: 5px;
}

.vkc-video-bili-link {
  flex: 0 0 auto;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 600;
  color: #fb7299;
  text-align: center;
  background-color: #ffffff;
  border-top: 1px solid rgba(144, 144, 160, 0.15);
}

.vkc-video-bili-link:hover {
  background-color: #fff5f8;
}

@media screen and (max-width: 960px) {
  .vkc-video-lightbox {
    flex-direction: column;
  }

  .vkc-video-lightbox-info {
    flex: 0 0 auto;
    order: 2;
  }

  .vkc-video-lightbox-info .vkc-video-download-wrap {
    margin-top: 20px;
  }

  .vkc-video-lightbox-player {
    order: 1;
    border-left: none;
    border-bottom: 1px solid rgba(144, 144, 160, 0.15);
  }

  .vkc-video-lightbox-player video {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .vkc-video-lightbox-player .vkc-video-lightbox-iframe {
    min-height: 0;
  }
}

/* 未绑定视频时的兜底提示 */
.vkc-video-lightbox-nomedia {
  flex: 1 1 auto;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #000000;
  color: #8e929c;
  font-size: 15px;
  text-align: center;
  padding: 24px;
}

.vkc-video-lightbox-nomedia p {
  margin: 0;
}

.vkc-video-lightbox-nomedia .vkc-video-lightbox-nomedia-hint {
  font-size: 12px;
  color: #646479;
}

/*--------------------
    壁纸详情页 PHOTO LIGHTBOX（老齐 2026-10-17）
    样式参考会员中心照片查看页（/members/laoqi/ 点照片）：
    整页暗色遮罩 + 左白信息面板 + 右大图台 + 右上角关闭。
    骨架复用 .vkc-video-lightbox*，此处只做壁纸差异化：
    ① 整页压暗 ② 右栏深色底衬托壁纸 ③ 白栏内正文类改深色
    （.vkc-wallpaper-* 原为暗色详情页设计，浅灰字在白底不可读）
--------------------*/
body.vkc-photo-single {
  background-color: #171921;
}

/* 壁纸页弹窗更贴边、更宽（老齐 2026-10-17：页面充满） */
.vkc-photo-lightbox-page {
  padding: 28px 3vw 36px;
}

.vkc-photo-lightbox-page .vkc-video-lightbox {
  width: min(1340px, 100%);
  /* 弹窗不超出视口；左面板内容（含评论）超出时内部滚动 */
  max-height: calc(100vh - 72px);
}

/* 评论区可能把面板撑高 → 面板内滚动，不撑高弹窗 */
.vkc-photo-lightbox-page .vkc-video-lightbox-info {
  overflow-y: auto;
}

/* 右栏：深色舞台（区别于视频的纯黑播放器，突出壁纸本身） */
.vkc-photo-lightbox-stage {
  background-color: #0f1015;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

/* 大图：竖图/方图 contain 完整展示不裁切；高度铺满舞台（配合 cover/contain） */
.vkc-photo-lightbox-image {
  display: block;
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  min-height: 380px;
  object-fit: contain;
  background-color: transparent;
}

/* 横图（桌面壁纸）：cover 铺满右侧区域，页面充满（老齐 2026-10-17） */
.vkc-photo-lightbox-image.vkc-photo-landscape {
  object-fit: cover;
}

/* 左栏白底：正文 wallpaper 类颜色覆盖为深色 */
.vkc-video-lightbox-info .vkc-wallpaper-body .vkc-wallpaper-desc {
  color: #6d7089;
}

.vkc-video-lightbox-info .vkc-wallpaper-body .vkc-wallpaper-spec {
  background: #f7f7fb;
  border: 1px solid #ececf4;
  margin: 14px 0;
}

.vkc-video-lightbox-info .vkc-wallpaper-body .vkc-wallpaper-spec li {
  color: #3e3f5e;
}

/* 三角标与文字间距收紧（老齐 2026-10-17：文字紧跟三角标） */
.vkc-video-lightbox-info .vkc-wallpaper-body .vkc-wallpaper-spec li::before {
  display: inline;
  margin-right: 4px;
}

.vkc-video-lightbox-info .vkc-wallpaper-body .vkc-wallpaper-download {
  margin-top: 16px;
}

.vkc-video-lightbox-info .vkc-wallpaper-body .vkc-wallpaper-download a {
  background: #c0392b;
}

/*--------------------
    壁纸详情评论区（老齐 2026-10-17：左面板底部，参考照片查看页）
--------------------*/
.vkc-lightbox-comments {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #ececf4;
}

.vkc-lightbox-comments-title {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text, #3e3f5e);
}

.vkc-lightbox-comments-title span {
  font-weight: 600;
  color: var(--color-text-alt, #adafca);
}

.vkc-lightbox-comment-list {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 180px;
  overflow-y: auto;
}

.vkc-lightbox-comment {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.vkc-lightbox-comment-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.vkc-lightbox-comment-meta {
  margin: 0 0 3px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--color-text-alt, #adafca);
}

.vkc-lightbox-comment-text {
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-text, #3e3f5e);
  overflow-wrap: break-word;
}

.vkc-lightbox-comment-text p {
  margin: 0;
}

.vkc-lightbox-comment-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vkc-lightbox-comment-fields {
  display: flex;
  flex-direction: row;
  gap: 8px;
}

.vkc-lightbox-comment-fields input {
  flex: 1 1 50%;
  min-width: 0;
}

.vkc-lightbox-comment-form input[type="text"],
.vkc-lightbox-comment-form input[type="email"],
.vkc-lightbox-comment-form textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #e4e4f0;
  border-radius: 8px;
  background-color: #fbfbfd;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  color: var(--color-text, #3e3f5e);
  resize: vertical;
}

.vkc-lightbox-comment-form input:focus,
.vkc-lightbox-comment-form textarea:focus {
  outline: none;
  border-color: #615dfa;
}

.vkc-lightbox-comment-submit {
  align-self: flex-start;
  padding: 9px 20px;
  border: none;
  border-radius: 8px;
  background-color: #615dfa;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.vkc-lightbox-comment-submit:hover {
  background-color: #4a48e0;
}

.vkc-lightbox-comments-closed {
  margin: 0;
  font-size: 12px;
  color: var(--color-text-alt, #adafca);
}

/* 手机端：大图限高，避免竖图把信息面板挤出首屏 */
@media screen and (max-width: 960px) {
  .vkc-photo-lightbox-stage {
    border-left: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .vkc-photo-lightbox-image {
    min-height: 0;
    max-height: 56vh;
  }

  /* 手机端评论区在面板下方（通栏）：昵称/邮箱横排（桌面已横排，此处保留断点兜底） */
  .vkc-lightbox-comment-fields {
    flex-direction: row;
  }

  .vkc-lightbox-comment-fields input {
    flex: 1 1 50%;
    min-width: 0;
  }
}

/*====================
    素材详情页（老齐 2026-10-23）
    骨架复用 .vkc-video-lightbox*（左信息面板 + 右深色舞台）
    - 舞台内可切换「样机预览 / 原始图片」
    - 点击大图进入全屏展开（.vkc-asset-fullscreen）
--------------------*/
body.vkc-asset-single {
  background-color: #171921;
}

.vkc-asset-lightbox-page {
  padding: 28px 3vw 36px;
}

.vkc-asset-lightbox-page .vkc-video-lightbox {
  width: min(1340px, 100%);
  max-height: calc(100vh - 72px);
}

.vkc-asset-lightbox-page .vkc-video-lightbox-info {
  overflow-y: auto;
}

/* 标题前的子分类角标 */
.vkc-video-lightbox-title .vkc-asset-cat {
  display: inline-block;
  margin-right: 6px;
  padding: 2px 7px;
  border-radius: 6px;
  background-color: rgba(0, 199, 217, 0.12);
  font-size: 11px;
  font-weight: 600;
  color: #00a8b8;
  vertical-align: 2px;
}

/* 规格清单 */
.vkc-asset-spec-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 1px solid #ececf4;
  border-radius: 10px;
  background-color: #f7f7fb;
}

.vkc-asset-spec-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 0;
  font-size: 12px;
  line-height: 1.5;
}

.vkc-asset-spec-k {
  color: #8a8ca6;
  flex: none;
}

.vkc-asset-spec-v {
  color: #3e3f5e;
  font-weight: 600;
  text-align: right;
  overflow-wrap: anywhere;
}

/* 下载原图 */
.vkc-asset-detail-download {
  margin-top: 18px;
}

.vkc-asset-detail-dl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 22px;
  border-radius: 9px;
  background-color: #615dfa;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.vkc-asset-detail-dl:hover {
  background-color: #4d49e0;
  color: #ffffff;
  transform: translateY(-1px);
}

.vkc-asset-detail-dl svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
  flex: none;
}

.vkc-asset-detail-hint {
  margin: 8px 0 0;
  font-size: 11px;
  color: #8a8ca6;
}

/* 右侧舞台 */
.vkc-asset-stage {
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 18px 14px;
  background-color: #0f1015;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  overflow: auto;
}

/* 切换按钮组 */
.vkc-asset-stage-switch {
  display: inline-flex;
  gap: 6px;
  padding: 4px;
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 0.08);
  flex: none;
}

.vkc-asset-stage-switch button {
  border: 0;
  padding: 6px 14px;
  border-radius: 6px;
  background-color: transparent;
  font-size: 12px;
  font-weight: 600;
  color: #b9bbd0;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.vkc-asset-stage-switch button:hover {
  color: #ffffff;
}

.vkc-asset-stage-switch button.is-active {
  background-color: #615dfa;
  color: #ffffff;
}

/* 大图面板：默认只显示 active 那个 */
.vkc-asset-stage-figure {
  display: none;
  margin: 0;
  text-align: center;
}

.vkc-asset-stage-figure.is-active {
  display: block;
}

/* 详情页样机：舞台内自适应（网页渲染的样机不再受 img 尺寸限制）
 *
 * 老齐 2026-10-24：
 *   原规则写死 height: calc(100vh - 230px)，配合 .vkc-mock 的
 *   aspect-ratio 1440/1546 反推出宽度 = 高 × 1440/1546。移动端 390px 视口下
 *   高 614px → 宽 572px，而舞台净宽只有 331px → 样机横向溢出 91px，
 *   配合 .vkc-asset-stage 的 justify-content:center + overflow:auto，
 *   顶部内容被挤出容器（切换按钮 y=-63、关闭按钮被 sticky 头部盖住）。
 *
 *   中途试过 width:100% + height:auto（让 aspect-ratio 双向传导），
 *   但 .vkc-asset-stage-figure 是 flex item（shrink-to-fit），
 *   内部再用百分比宽度 → 循环依赖，样机在所有视口都塌成 252px。
 *
 * 最终修法（宽度由高度驱动，高度按视口分档给死值）：
 *   ① width:auto + 固定 height → aspect-ratio 反推宽度，永不压扁；
 *   ② max-width:100% 兜底，极窄屏也不会横向溢出；
 *   ③ 平板/手机改用固定像素高度，保证「切换按钮 + 样机 + 图注」
 *      三段在舞台内放得下，按钮与关闭按钮不被挤出。
 */
.vkc-asset-stage .vkc-mock-stage {
  width: auto;
  height: calc(100vh - 230px);
  max-width: 100%;
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.55);
}

@media screen and (max-width: 960px) {
  .vkc-asset-stage .vkc-mock-stage {
    height: 340px;
  }
}

@media screen and (max-width: 680px) {
  .vkc-asset-stage .vkc-mock-stage {
    height: 262px;
  }
}

.vkc-asset-stage-img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 190px);
  margin: 0 auto;
  border-radius: 8px;
  cursor: zoom-in;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.vkc-asset-stage-img:hover {
  transform: scale(1.01);
  box-shadow: 0 16px 46px rgba(0, 0, 0, 0.6);
}

.vkc-asset-stage-figure figcaption {
  margin-top: 10px;
  font-size: 11px;
  color: #8a8ca6;
}

/* 全屏展开层 */
.vkc-asset-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background-color: rgba(6, 7, 10, 0.96);
}

.vkc-asset-fullscreen.is-open {
  display: flex;
}

.vkc-asset-fullscreen img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 6px;
}

.vkc-asset-fullscreen-close {
  position: absolute;
  top: 18px;
  right: 22px;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  cursor: pointer;
}

.vkc-asset-fullscreen-close:hover {
  background-color: #615dfa;
}

.vkc-asset-fullscreen-close svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.vkc-asset-fullscreen-hint {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 16px;
  text-align: center;
  font-size: 12px;
  color: #8a8ca6;
}

@media screen and (max-width: 960px) {
  .vkc-asset-stage {
    border-left: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .vkc-asset-stage-img {
    max-height: 56vh;
  }
}

/* ===== 文章详情页版式（老齐 2026-10-17）=====
   1. 白卡居中：max-width 784px→860px（width 88% 小屏自适应）、左右内边距 100px→48px（两侧留白缩小）
   2. 标题 46px→25px；摘要 22px→15px */
.post-open .post-open-body {
  width: 88%;
  max-width: 860px;
}

.post-open .post-open-body .post-open-heading,
.post-open .post-open-body .post-open-content {
  padding-left: 48px;
  padding-right: 48px;
}

/* 正文列撑满白卡剩余空间（父主题写死 500px，860 白卡下右侧空 180px） */
.post-open .post-open-body .post-open-content .post-open-content-body {
  width: auto;
  flex: 1;
  min-width: 0;
}

.post-open .post-open-heading .post-open-title {
  font-size: 25px;
}

.post-open .post-open-body .post-open-content .post-open-content-body .post-open-excerpt {
  font-size: 15px;
}

@media screen and (max-width: 680px) {
  .post-open .post-open-body .post-open-heading,
  .post-open .post-open-body .post-open-content {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* ===== 相关文章区（demo 同款「浏览其他 / 热门文章」，与正文区同宽 860px 对齐）===== */
.vkc-related-posts {
  max-width: 860px;
  padding-bottom: 20px;
}

.vkc-related-posts .grid {
  margin-top: 24px;
  justify-content: center;
  /* grid-6-6 固定 584px×2=1184 超出正文区，改两列均分撑满 860 */
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media screen and (max-width: 680px) {
  .vkc-related-posts .grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.vkc-related-posts .post-preview {
  min-height: 0;
}

/* ===== 导航右移 20px + 首页壁纸网格改 demo photos 样式（老齐 2026-10-18）===== */
/* 导航右移：仅影响 header 横向主菜单（.navigation），侧边导航不受影响。
   用 transform 而非 margin——header 是 flex space-between，margin 会被重新分配吸收（实测只位移 8px） */
.header .header-actions .navigation {
  transform: translateX(20px);
}

/* 首页壁纸板块：demo members/photos 同款等宽方图网格
   （替换原 photos-masonry 瀑布流；6 列 → 3 列(≤1365px) → 2 列(≤680px)） */
.vkc-home-section .vkc-photo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.vkc-photo-grid .vkc-photo-grid-item {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--card-bg, #161b22);
}

.vkc-photo-grid .vkc-photo-grid-item img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.vkc-photo-grid .vkc-photo-grid-item:hover img {
  transform: scale(1.06);
}

.vkc-photo-grid .vkc-photo-grid-item .vkc-photo-fallback {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1365px) {
  .vkc-home-section .vkc-photo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 680px) {
  .vkc-home-section .vkc-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ===== 菜单下划线闪烁 + 首页板块标题间距（老齐 2026-10-18）===== */
/* 1. 菜单项点击瞬间的 UA/active 下划线：全状态显式 none
   （特异性 0-3-0 与父主题同级，子主题样式后加载胜出；覆盖 :link/:visited/:hover/:active/:focus） */
.header .navigation .menu-main-item-link:link,
.header .navigation .menu-main-item-link:visited,
.header .navigation .menu-main-item-link:hover,
.header .navigation .menu-main-item-link:active,
.header .navigation .menu-main-item-link:focus {
  text-decoration: none;
}

/* 2. 首页板块标题行与下方内容间距：父主题 .section-header 无 margin-bottom，
   壁纸网格/BGM 列表直接贴标题 → 统一 16px（壁纸区、BGM 区、相关文章区一致） */
.vkc-home-section .section-header {
  margin-bottom: 16px;
}

/* ===== Footer ICP 备案号（老齐 2026-10-22）=====
   与底部 logo 左对齐（footer-info 列内），小灰字，链接工信部备案系统 */
.footer-info .vkc-footer-icp {
  margin-top: 14px;
  font-size: 0.75rem;
  line-height: 1.6em;
  color: var(--color-text-alt);
}

.footer-info .vkc-footer-icp a {
  color: var(--color-text-alt);
  text-decoration: none;
}

.footer-info .vkc-footer-icp a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

/* ===== Footer 三卡入口（老齐 2026-10-22，参考 feige177.com）=====
   位于 footer logo 右侧空白区：浅色卡 + 线性图标 + 英文标签/中文标题/描述 三层文字 */
.vkc-footer-cards {
  flex: 1;
  min-width: 0;
  margin-left: 48px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.vkc-footer-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  background-color: #f6f7fb;
  border: 1px solid #e8eaf2;
  border-radius: 14px;
  text-decoration: none;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.vkc-footer-card:hover {
  transform: translateY(-3px);
  border-color: var(--color-primary);
  box-shadow: 0 8px 20px rgba(35, 210, 226, 0.12);
}

.vkc-footer-card-icon {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(35, 210, 226, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
}

.vkc-footer-card-svg {
  width: 22px;
  height: 22px;
  fill: var(--color-primary);
}

.vkc-footer-card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vkc-footer-card-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--color-text-alt);
  text-transform: uppercase;
}

.vkc-footer-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #1c1f2a;
  line-height: 1.3;
}

.vkc-footer-card-desc {
  font-size: 11px;
  color: var(--color-text-alt);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 1365px) {
  .vkc-footer-cards {
    margin-left: 32px;
    gap: 12px;
  }

  .vkc-footer-card {
    padding: 14px 12px;
    gap: 10px;
  }

  .vkc-footer-card-icon {
    width: 38px;
    height: 38px;
  }
}

@media screen and (max-width: 680px) {
  /* 移动端：logo 与三卡竖排，三卡自身竖堆 */
  .vkc-footer-cards {
    margin-left: 0;
    margin-top: 28px;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* 移动端 footer-top 竖排：logo 列在上、三卡在下（父主题 flex 横排会挤压） */
@media screen and (max-width: 680px) {
  .footer-top {
    flex-direction: column;
  }
}

/* 修正：≤1365px 父主题 footer-top 为 column + align-items:center，三卡需撑满 */
@media screen and (max-width: 1365px) {
  .vkc-footer-cards {
    margin-left: 0;
    margin-top: 32px;
    align-self: stretch;
    width: 100%;
  }
}

/* ===== 三卡弹窗（老齐 2026-10-22）=====
   遮罩 + 白底圆角面板 + 入场缩放动画；红色强调列表；邮箱行含复制按钮 */
body.vkc-dialog-open {
  overflow: hidden;
}

.vkc-dialog {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.vkc-dialog.active {
  display: flex;
}

.vkc-dialog-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(13, 17, 23, 0.55);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  animation: vkc-dialog-fade 0.25s ease;
}

.vkc-dialog-panel {
  position: relative;
  width: 100%;
  max-width: 480px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 28px 28px 24px;
  box-shadow: 0 24px 64px rgba(13, 17, 23, 0.35);
  animation: vkc-dialog-pop 0.28s cubic-bezier(0.2, 0.9, 0.3, 1.2);
}

@keyframes vkc-dialog-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes vkc-dialog-pop {
  from { opacity: 0; transform: scale(0.94) translateY(10px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

.vkc-dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border: none;
  background: none;
  font-size: 22px;
  line-height: 1;
  color: #8f91ac;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.vkc-dialog-close:hover {
  background-color: #f2f3f8;
  color: #1c1f2a;
}

.vkc-dialog-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.vkc-dialog-icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(35, 210, 226, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
}

.vkc-dialog-icon-svg {
  width: 24px;
  height: 24px;
  fill: var(--color-primary);
}

.vkc-dialog-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--color-text-alt);
  text-transform: uppercase;
}

.vkc-dialog-title {
  margin: 2px 0 0;
  font-size: 19px;
  font-weight: 800;
  color: #1c1f2a;
  line-height: 1.3;
}

.vkc-dialog-subtitle {
  margin: 14px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #4a4d63;
}

.vkc-dialog-body {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.85;
  color: #4a4d63;
}

.vkc-dialog-body p {
  margin: 0 0 10px;
}

.vkc-dialog-list {
  margin: 0 0 10px;
  padding-left: 18px;
}

.vkc-dialog-list li {
  margin-bottom: 4px;
  color: #d93636;
  font-weight: 600;
}

.vkc-dialog-list li::marker {
  color: #d93636;
}

.vkc-dialog-mail {
  margin-top: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background-color: #f6f7fb;
  border: 1px solid #e8eaf2;
  border-radius: 12px;
}

.vkc-dialog-mail-icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  fill: var(--color-primary);
}

.vkc-dialog-mail-text {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  color: #4a4d63;
}

.vkc-dialog-mail-text strong {
  color: #1c1f2a;
}

.vkc-dialog-copy {
  flex: 0 0 auto;
  width: auto; /* 覆盖父主题全局 button{width:100%}（vikinger style.css:298），否则被拉满整行 */
  border: none;
  background-color: var(--color-primary);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.vkc-dialog-copy:hover {
  opacity: 0.85;
}

.vkc-dialog-copy.copied {
  background-color: #22a06b;
}

@media screen and (max-width: 680px) {
  .vkc-dialog-panel {
    max-width: 100%;
    padding: 22px 20px 20px;
    border-radius: 16px;
  }
}

/* 三卡改为 button 触发弹窗：reset 原生按钮样式，保持卡片外观与手势 */
button.vkc-footer-card {
  border: 1px solid #e8eaf2;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

/* ===== Banner 去图标 + 文字左移（老齐 2026-10-22）=====
   父主题 padding: 52px 60px 0 200px（左 200px 原为徽章图标预留）
   老齐 2026-10-22 二次调整：红框右缘 = banner 左缘 +10px，文字须让开 → 左 25px
   老齐 2026-10-22 三次调整（20:45）：banner 尺寸不变（左缘/宽度保持父主题原状），
   仅把内部文字左缘推到红线 = header-brand-text「环球武库资源站」H1 左缘
   = banner 左缘 + 56px（GA 图标区 44px + 间距 12px）→ padding-left: 56px */
.section-banner {
  padding-left: 56px;
}

/* ===== 时间线动态 ↔ 动态单页关联（老齐 2026-10-22）=====
   配合子主题 js/app.bundle.min.js 补丁：活动条目时间戳恢复为单页链接
   （父主题把标准 BuddyPress 的时间戳 permalink 改成了纯文本）。
   只命中 .user-status-text 直接子级的首个 a（时间戳），
   不误伤同级的「编辑者」头像/姓名链接。 */
.user-status .user-status-text > a:first-child {
  color: inherit;
  text-decoration: none;
}

.user-status .user-status-text > a:first-child:hover {
  text-decoration: underline;
}

/* 动态单页：返回时间线按钮 */
.vkc-activity-back {
  margin: 0 0 24px;
}

.vkc-activity-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  background-color: #f2f4f8;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text);
  text-decoration: none;
  transition: background-color .2s ease-in-out;
}

.vkc-activity-back-link:hover {
  background-color: #e6eaf2;
}

.vkc-activity-back-icon {
  font-weight: 700;
}

/* ==========================================================================
   会员页微调（2026-10-23）
   1. 国外社交按钮灰化（去品牌色 + 去 hover 位移）
   2. 积分页去掉 "Credits Balance" 大标题
   ========================================================================== */

/* ---------- 1. 国外社交按钮：灰色静态图标 ---------- */
.social-link.muted {
  background-color: #3e3f5e;
  cursor: default;
  pointer-events: none;
}

.social-link.muted:hover {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.social-link.muted .social-link-icon {
  fill: #8e90ad;
}

/* ---------- 2. 积分页：隐藏 Credits Balance 标题 ---------- */
body.bp-user.credits .section-header .section-title {
  display: none;
}

body.bp-user.credits .section-header .section-pretitle {
  margin-bottom: 0;
}

body.bp-user.credits .section-header {
  margin-bottom: 24px;
}

/* ==========================================================================
   Demo 风格分页器（2026-10-23）
   参照 vikinger demo 会员 Posts 页：白色圆角容器内排 01 / 02 / 03…，
   当前页青色高亮（#00c7d9），最右一枚独立的「›」下一页按钮。
   由 category.php 的 vkc_render_demo_pagination() 输出。
   ========================================================================== */

.vkc-demo-pagination {
  margin: 26px 0 8px;
  display: flex;
  justify-content: center;
}

.vkc-demo-pagination-inner {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 4px 22px rgba(93, 93, 158, 0.12);
}

.vkc-page-item {
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.5px;
  color: #3e3f5e;
  background-color: transparent;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* 当前页：青色文字 + 极浅青底（对齐截图3 的观感） */
.vkc-page-item.is-current {
  color: #00c7d9;
  background-color: rgba(0, 199, 217, 0.1);
}

.vkc-page-item:hover {
  color: #00c7d9;
}

.vkc-page-item.is-current:hover {
  color: #00c7d9;
}

.vkc-page-dots {
  min-width: 22px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #adafca;
  user-select: none;
}

/* 左右箭头：与页码分隔的独立小方块 */
.vkc-page-arrow {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 2px;
  border-radius: 10px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  color: #3e3f5e;
  background-color: #f4f4f8;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.vkc-page-arrow:hover {
  color: #00c7d9;
  background-color: rgba(0, 199, 217, 0.12);
}

@media screen and (max-width: 680px) {
  .vkc-demo-pagination {
    margin: 18px 0 4px;
  }

  .vkc-demo-pagination-inner {
    gap: 2px;
    padding: 5px;
    border-radius: 12px;
  }

  .vkc-page-item,
  .vkc-page-arrow {
    min-width: 34px;
    width: 34px;
    height: 34px;
    padding: 0 6px;
  }

  .vkc-page-dots {
    min-width: 18px;
    height: 34px;
  }
}
