  /* ===== content-header 让标题和卡片在宽度不够时整体换行 ===== */
  .content-header {
    flex-wrap: wrap;
    row-gap: 1.2vw;
  }
  .content-header h2 { flex-shrink: 0; }

  /* ===== content-header 右侧两张卡片容器 ===== */
  .content-header-right {
    display: flex;
    align-items: stretch;
    gap: 1vw;
    flex-wrap: nowrap;
    justify-content: flex-end;
    min-width: 0;
    margin-left: 2vw;
  }
  .content-header-right.is-wrapped,
  .content-header > .content-header-right:only-child {
    justify-content: flex-start;
    margin-left: 0;
  }

  /* ===== 加入刺猬星球会员 小卡片(Figma 1:1 — 全 vw) ===== */
  .join-vip-mini {
    position: relative;
    z-index: 5;  /* 让卡片(含右上角溢出的徽章)叠在右侧三年之约卡之上 */
    width: 30vw;
    min-height: 8.5vw;
    padding: 1vw 1.5vw;
    border-radius: 1.5625vw;
    border: 1px solid rgba(255, 164, 144, 0.5);
    background: linear-gradient(180.49deg, rgba(255, 164, 144, 0.10) 1.45%, rgba(255, 255, 255, 0) 98.76%);
    cursor: pointer;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: box-shadow .2s, transform .2s;
    flex-shrink: 0;
  }
  .join-vip-mini:hover {
    box-shadow: 0 0.4vw 1.25vw rgba(255, 75, 35, 0.15);
    transform: translateY(-0.05vw);
  }
  .join-vip-mini .jvm-top {
    display: flex;
    align-items: center;
    gap: 1vw;
  }
  .join-vip-mini .jvm-title {
    font-size: 1.0417vw;
    line-height: 1.4;
    color: #000;
    white-space: nowrap;
  }
  .join-vip-mini .jvm-title-hl {
    color: #FF4B23;
    font-family: Poppins, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 1.25vw;
    font-weight: 700;
  }
  .join-vip-mini .jvm-vip-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.5vw;
    min-width: 2.5vw;
    height: 1.15vw;
    border: 1px solid #000;
    border-radius: 1.6vw;
    font-size: 0.7vw;
    color: #000;
    line-height: 1;
    margin-left: 0.2vw;
  }
  .join-vip-mini .jvm-price {
    position: absolute;
    top: 1vw;
    right: 1.5vw;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1;
  }
  .join-vip-mini .jvm-price-tip {
    font-size: 0.83vw;
    color: #000;
    line-height: 1.6;
  }
  .join-vip-mini .jvm-price-num {
    margin-top: 0.2vw;
    color: #FF4B23;
    font-weight: 700;
    line-height: 1;
  }
  .join-vip-mini .jvm-price-val {
    font-family: Poppins, sans-serif;
    font-size: 1.25vw;
  }
  .join-vip-mini .jvm-price-unit {
    font-size: 0.73vw;
    color: #717171;
    font-weight: 400;
    margin-left: 0.2vw;
  }
  /* 倒计时徽章：复用首页悬浮入口的红色徽章样式 */
  /* 整个徽章一起浮动，启用 GPU 合成层避免动画过程中文字亚像素模糊 */
  .join-vip-mini .jvm-badge {
    position: absolute;
    /* 改为相对卡片右上角内部一点点(不再溢出到外面),避免响应式时被遮挡 */
    top: -2.5vw;
    right: -3vw;
    width: 5.58vw;
    height: auto;
    pointer-events: none;
    z-index: 10;
    transform-origin: 80% 80%;
    animation: sfBadgeFloat 2.2s ease-in-out infinite;
    filter: drop-shadow(0 0.2vw 0.42vw rgba(0,0,0,0.12));
    line-height: 0;
    display: inline-block;
    /* 关键: 让整个徽章作为独立的 GPU 合成层渲染 */
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  .join-vip-mini .jvm-badge svg {
    width: 100%;
    height: auto;
    display: block;
  }
  .join-vip-mini .jvm-badge-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 0.65vw;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    transform: translateY(-0.1vw);
    white-space: nowrap;
    /* 字体抗锯齿 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricPrecision;
  }
  .join-vip-mini .jvm-badge-days {
    display: inline;
    margin: 0 0.1vw;
    font-size: 0.75vw;
  }
  /* 徽章上 4 颗火花闪烁（复用 header.php 里的 sfSparkTwinkle 关键帧） */
  .join-vip-mini .jvm-badge .sf-spark {
    transform-origin: center;
    transform-box: fill-box;
    animation: sfSparkTwinkle 1.4s ease-in-out infinite;
  }
  .join-vip-mini .jvm-badge .sf-spark-1 { animation-delay: 0s; }
  .join-vip-mini .jvm-badge .sf-spark-2 { animation-delay: 0.35s; }
  .join-vip-mini .jvm-badge .sf-spark-3 { animation-delay: 0.7s; }
  .join-vip-mini .jvm-badge .sf-spark-4 { animation-delay: 1.05s; }
  .join-vip-mini .jvm-sub {
    margin-top: 0.3vw;
    font-size: 0.73vw;
    color: #717171;
  }
  .join-vip-mini .jvm-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2.5vw;
    margin-top: auto;
  }
  .join-vip-mini .jvm-feats {
    display: flex;
    gap: 1vw;
    flex-wrap: nowrap;
    flex-shrink: 0;
  }
  .join-vip-mini .jvm-feat {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2vw;
    flex-shrink: 0;
  }
  .join-vip-mini .jvm-feat-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8vw; height: 1.8vw;
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
  }
  .join-vip-mini .jvm-feat-ico img {
    width: 100%; height: 100%; display: block; object-fit: contain;
  }
  .join-vip-mini .jvm-feat-text {
    font-size: 0.7vw;
    color: #000;
    line-height: 1;
  }
  .join-vip-mini .jvm-cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.2vw;
    height: 1.875vw;
    border-radius: 1.98vw;
    background: #FF4B23;
    color: #fff;
    font-weight: 700;
    font-size: 0.83vw;
    line-height: 1;
    cursor: pointer;
    transition: background .2s;
    white-space: nowrap;
  }
  .join-vip-mini .jvm-cta:hover { background: #e83d18; }

  /* ===== 加入刺猬星球社群 小卡片(全 vw) ===== */
  .join-shequn-mini {
    display: flex;
    align-items: stretch;
    gap: 2vw;
    padding: 1vw 1.4vw;
    background: linear-gradient(182deg, rgba(201, 255, 133, 0.10) 1.45%, rgba(255, 255, 255, 0.00) 98.76%);
    border: 1px solid rgba(201, 255, 133, 0.50);
    border-radius: 1.5625vw;
    width: 27vw;
    flex-shrink: 0;
  }
  .join-shequn-mini .jsm-left { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  .join-shequn-mini .jsm-feats {
    display: flex;
    gap: 1vw;
    margin-top: auto !important;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .join-shequn-mini .jsm-title { font-size: 1.0417vw; font-weight: 700; color: #1a1a1a; line-height: 1.3; }
  .join-shequn-mini .jsm-title-hl {
    color: #3D882A;
    font-family: Poppins, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1.6667vw;
  }
  .join-shequn-mini .jsm-subtitle { margin-top: 0.3vw; font-size: 0.73vw; color: #6a6a6a; }
  .join-shequn-mini .jsm-feat {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2vw;
    flex-shrink: 0;
  }
  .join-shequn-mini .jsm-feat-ico {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.8vw; height: 1.8vw;
    font-size: 0.9vw;
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
  }
  .join-shequn-mini .jsm-feat-ico img {
    width: 100%; height: 100%; display: block; object-fit: contain;
  }
  .join-shequn-mini .jsm-feat-text {
    font-size: 0.7vw; color: #000; line-height: 1;
  }
  .join-shequn-mini .jsm-right {
    flex-shrink: 0;
    display: flex; flex-direction: column; align-items: center;
  }
  .join-shequn-mini .jsm-qr {
    width: 7.8vw; height: 7.8vw;
    background: #fff; border-radius: 0.42vw; padding: 0.2vw;
    overflow: hidden; box-shadow: 0 0.1vw 0.42vw rgba(0,0,0,0.08);
  }
  .join-shequn-mini .jsm-qr img { width: 100%; height: 100%; display: block; object-fit: contain; }
  .join-shequn-mini .jsm-qr-tip { margin-top: 0.2vw; font-size: 0.8vw; color: #000; white-space: nowrap; }

  /* 1280 及以下 - 两张卡片整体隐藏(全 px 兜底, 不再生效但保留以备开启) */
  @media screen and (max-width: 1280px) {
    .content-header-right { display: none !important; }
    .join-vip-mini {
      width: auto;
      min-width: 0;
      max-width: 100%;
      min-height: 0;
      padding: 12px 14px;
      border-radius: 16px;
    }
    .join-vip-mini:hover { box-shadow: 0 4px 12px rgba(255, 75, 35, 0.15); transform: none; }
    .join-vip-mini .jvm-top { gap: 8px; }
    .join-vip-mini .jvm-title { font-size: 14px; white-space: normal; }
    .join-vip-mini .jvm-title-hl { font-size: 16px; }
    .join-vip-mini .jvm-vip-tag { font-size: 10px; height: 16px; min-width: 32px; padding: 0 6px; border-radius: 20px; margin-left: 4px; }
    .join-vip-mini .jvm-price-tip { font-size: 11px; }
    .join-vip-mini .jvm-price-num { margin-top: 2px; }
    .join-vip-mini .jvm-price-val { font-size: 18px; }
    .join-vip-mini .jvm-price-unit { font-size: 11px; margin-left: 2px; }
    .join-vip-mini .jvm-sub { font-size: 11px; margin-top: 4px; }
    .join-vip-mini .jvm-bottom { gap: 12px; }
    .join-vip-mini .jvm-feats { gap: 10px; }
    .join-vip-mini .jvm-feat { gap: 4px; }
    .join-vip-mini .jvm-feat-ico { width: 28px; height: 28px; }
    .join-vip-mini .jvm-feat-text { font-size: 11px; }
    .join-vip-mini .jvm-cta { padding: 0 14px; height: 30px; font-size: 12px; border-radius: 24px; }

    .join-shequn-mini {
      gap: 14px;
      padding: 12px 14px;
      max-width: 100%;
      border-radius: 16px;
    }
    .join-shequn-mini .jsm-title { font-size: 16px; }
    .join-shequn-mini .jsm-title-hl { font-size: 18px; line-height: 1.3; }
    .join-shequn-mini .jsm-subtitle { font-size: 12px; margin-top: 4px; }
    .join-shequn-mini .jsm-feats { gap: 12px; }
    .join-shequn-mini .jsm-feat { gap: 4px; }
    .join-shequn-mini .jsm-feat-ico { width: 32px; height: 32px; font-size: 14px; }
    .join-shequn-mini .jsm-feat-text { font-size: 12px; }
    .join-shequn-mini .jsm-qr { width: 110px; height: 110px; padding: 4px; border-radius: 6px; }
    .join-shequn-mini .jsm-qr-tip { margin-top: 4px; font-size: 11px; }
  }

@keyframes sfBadgeFloat {
  0%   { transform: translateZ(0) translateY(0) rotate(-3deg) scale(1); }
  50%  { transform: translateZ(0) translateY(-3px) rotate(3deg) scale(1.06); }
  100% { transform: translateZ(0) translateY(0) rotate(-3deg) scale(1); }
}
@keyframes sfSparkTwinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.7); }
  50%      { opacity: 1; transform: scale(1.25); }
}

.tab-group-sub {
  margin-top: 0;
}

.aigc3 .linkon-course-filter {
  width: var(--wrap);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(9.5vw, auto) minmax(0, 1fr) minmax(12vw, auto);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 1.2vw;
  row-gap: 0.8vw;
}

.aigc3 .linkon-course-filter .tool-mode-switch {
  position: static;
  transform: none;
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: start;
  white-space: nowrap;
}

.aigc3 .linkon-course-filter .linkon-course-tabs {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  justify-content: center;
}

.aigc3 .linkon-course-filter .linkon-industry-tabs {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  min-width: 0;
  justify-content: center;
}

.aigc3 .linkon-course-filter .C-search {
  position: static;
  transform: none;
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  white-space: nowrap;
}

.aigc3.is-study-mode .linkon-industry-tabs,
.aigc3.is-study-mode .tab-group-sub {
  display: none !important;
}

.aigc3.is-study-mode .linkon-course-filter {
  grid-template-rows: auto;
}

.aigc3.is-study-mode .linkon-course-filter .tool-mode-switch,
.aigc3.is-study-mode .linkon-course-filter .C-search {
  grid-row: 1;
}

@media screen and (max-width: 768px) {
  .aigc3 .linkon-course-filter {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .aigc3 .linkon-course-filter .tool-mode-switch,
  .aigc3 .linkon-course-filter .C-search {
    align-self: stretch;
    justify-self: stretch;
  }

  .aigc3 .linkon-course-filter .linkon-course-tabs,
  .aigc3 .linkon-course-filter .linkon-industry-tabs {
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }
}
.tab-group-sub .tab {
  height: 2.2vw;
  min-height: 32px;
  padding: 0 1vw;
  font-size: 0.83vw;
}
.tab-group-sub .tab.on {
  background: rgba(255, 208, 215, 0.6);
}

.linkon-course-empty {
  text-align: center;
  color: #888;
  padding: 40px 0;
}

.aigc3.is-case-mode .aigc3-list .item .linkon-case-item-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  color: inherit;
  text-decoration: none;
}

.aigc3.is-case-mode .aigc3-list .item .linkon-case-item-link .intr {
  flex: 1;
}

/* ===== 教程 / 案例列表卡片 ===== */
.aigc3.is-study-mode .aigc3-list,
.aigc3.is-business-mode .aigc3-list,
.aigc3.is-case-mode .aigc3-list {
  align-items: stretch;
}

.aigc3.is-study-mode .aigc3-list .item,
.aigc3.is-business-mode .aigc3-list .item,
.aigc3.is-case-mode .aigc3-list .item {
  height: 100%;
}

.aigc3.is-study-mode .aigc3-list .item .intr,
.aigc3.is-business-mode .aigc3-list .item .intr,
.aigc3.is-case-mode .aigc3-list .item .intr {
  flex: 1;
  min-height: 0;
}

.aigc3-list .item .bg {
  position: relative;
  flex-shrink: 0;
}

.aigc3-list .item .item-new {
  position: absolute;
  top: 0.625vw;
  right: 0.625vw;
  padding: 0.26vw 0.73vw;
  min-width: 2.4vw;
  background: linear-gradient(135deg, #FF6B35, #E94E46);
  color: #fff;
  font-size: 0.73vw;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-align: center;
  border-radius: 6px;
  z-index: 2;
  box-shadow: 0 0.156vw 0.417vw rgba(233, 78, 70, 0.35);
  pointer-events: none;
}

.aigc3-list .item .item-new.is-hot,
.aigc3-list .item .item-new[data-badge="hot"] {
  background: linear-gradient(135deg, #FF4B23, #C20205);
}

.aigc3-list .item .item-new.is-new,
.aigc3-list .item .item-new[data-badge="new"] {
  background: linear-gradient(135deg, #7CCB2A, #3D882A);
  box-shadow: 0 0.156vw 0.417vw rgba(61, 136, 42, 0.35);
}

.aigc3-list .item .item-new.is-series,
.aigc3-list .item .item-new[data-badge="series"] {
  background: linear-gradient(135deg, #6B5BFF, #4A3FD9);
  box-shadow: 0 0.156vw 0.417vw rgba(74, 63, 217, 0.35);
  font-size: 0.63vw;
  letter-spacing: 0;
}

.aigc3-list .item .t1 {
  margin: 0;
}

.aigc3-list .item .openAll {
  align-items: center;
  gap: 0.52vw;
  min-height: 3.125vw;
}

.aigc3-list .item .openAll .icon {
  flex-shrink: 0;
  width: 1.458vw;
  height: 1.667vw;
  min-width: 22px;
  min-height: 26px;
  margin-right: 0.625vw;
  background: none !important;
  position: relative;
}

.aigc3-list .item .openAll .icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #7CCB2A 0%, #B4FF55 100%);
  border-radius: 4px;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M4 6h16v2H4V6zm0 5h16v2H4v-2zm0 5h10v2H4v-2z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M4 6h16v2H4V6zm0 5h16v2H4v-2zm0 5h10v2H4v-2z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.aigc3-list .item .openAll .te {
  flex: 1;
  min-width: 0;
  max-width: none;
}

.aigc3-list .item .openAll .t3 {
  color: #3D882A;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 0.16vw;
}

.aigc3-list .item .openAll .t4 {
  line-height: 1.45;
}

.aigc3-list .item .openAll .arrow-icon {
  width: 0.625vw;
  height: 0.625vw;
  min-width: 8px;
  min-height: 8px;
  margin-left: auto;
  flex-shrink: 0;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
  transform: rotate(-45deg);
}

.aigc3-list .item .iconlist {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.73vw;
  margin-top: 0.16vw;
}

.aigc3-list .item .iconlist .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.083vw;
  min-height: 28px;
  max-height: 36px;
  padding: 0.21vw;
  border-radius: 8px;
  background: #f5f5f7;
  transition: background 0.2s ease, transform 0.2s ease;
}

.aigc3-list .item .iconlist .icon:hover {
  background: #eef8e3;
  transform: translateY(-1px);
}

.aigc3-list .item .iconlist .icon img {
  width: 100%;
  height: 100%;
  max-width: 1.67vw;
  max-height: 1.67vw;
  min-width: 18px;
  min-height: 18px;
  object-fit: contain;
  display: block;
}

.aigc3-list .item .author-row {
  display: flex;
  align-items: center;
  gap: 0.42vw;
  margin-top: auto;
  padding-top: 0.42vw;
}

.aigc3-list .item .author-row .avatar {
  width: 1.67vw;
  height: 1.67vw;
  min-width: 22px;
  min-height: 22px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.aigc3-list .item .author-row .name {
  color: #666;
  line-height: 1.2;
  font-size: 0.83vw;
}

.aigc3 .linkon-course-tabs .vipclass-tab .icon {
  width: 0.94vw;
  height: 0.94vw;
  min-width: 14px;
  min-height: 14px;
  margin-left: 0.21vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.aigc3 .linkon-course-tabs .vipclass-tab .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@media screen and (max-width: 768px) {
  .aigc3-list .item .item-new {
    top: 8px;
    right: 8px;
    padding: 3px 10px;
    min-width: 36px;
    font-size: 11px;
    border-radius: 5px;
  }

  .aigc3-list .item .openAll {
    min-height: 48px;
    gap: 8px;
  }

  .aigc3-list .item .openAll .icon {
    width: 24px;
    height: 28px;
    margin-right: 8px;
  }

  .aigc3-list .item .openAll .arrow-icon {
    width: 8px;
    height: 8px;
  }

  .aigc3-list .item .iconlist {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
  }

  .aigc3-list .item .iconlist .icon {
    height: 32px;
    padding: 4px;
  }

  .aigc3-list .item .iconlist .icon img {
    max-width: 22px;
    max-height: 22px;
  }

  .aigc3-list .item .author-row .avatar {
    width: 22px;
    height: 22px;
  }

  .aigc3-list .item .author-row .name {
    font-size: 12px;
  }
}
