﻿/* EmpireCMS 列表筛选与分页（与 shoutu20 同款视觉，独立于 MacCMS） */
.st42-filter {
  margin: 2px 0 16px;
  padding: 6px 16px;
  border: 1px solid rgba(255, 153, 0, 0.12);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf2 100%);
  box-shadow: 0 6px 20px rgba(30, 34, 45, 0.06);
}
.st42-filter-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 0;
}
.st42-filter-row + .st42-filter-row {
  border-top: 1px solid rgba(30, 34, 45, 0.06);
}
.st42-filter-label {
  flex: 0 0 auto;
  min-width: 44px;
  color: #8a8f99;
  font-size: 13px;
  font-weight: 600;
  line-height: 30px;
}
.st42-filter-options {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  gap: 8px 10px;
}
.st42-filter-options a {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 16px;
  color: #4b5563;
  font-size: 13px;
  line-height: 20px;
  background: rgba(255, 255, 255, 0.75);
  transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.st42-filter-options a:hover,
.st42-filter-options a.active {
  background: linear-gradient(135deg, var(--STUI-HC-0, #ff9800) 0%, var(--STUI-HC, #ff2a14) 100%);
  box-shadow: 0 4px 12px rgba(255, 42, 20, 0.22);
  color: #fff;
}

/* 列表页多维筛选：继承主题渐变，未选中略偏暖灰 */
.st42-filter.st42-filter--listhub .st42-filter-options a:not(:hover):not(.active) {
  color: #5c6169;
  background: rgba(255, 255, 255, 0.85);
}

/* 与下方「影片列表」同宽：去掉内层卡片左右缩进，标签列等宽对齐 */
#index-main .module.module-bg > .st42-filter.st42-filter--listhub {
  margin-left: 0;
  margin-right: 0;
  margin-top: 2px;
  margin-bottom: 0;
  padding: 0 0 4px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#index-main .module.module-bg > .st42-filter.st42-filter--listhub .st42-filter-row {
  align-items: center;
  gap: 12px;
  padding-top: 10px;
  padding-bottom: 10px;
}

#index-main .module.module-bg > .st42-filter.st42-filter--listhub .st42-filter-label {
  flex: 0 0 52px;
  min-width: 52px;
  max-width: 52px;
  text-align: left;
  box-sizing: border-box;
  align-self: center;
}

#index-main .module.module-bg > .st42-filter.st42-filter--listhub .st42-filter-row + .st42-filter-row {
  border-top: 1px solid rgba(30, 34, 45, 0.06);
}

/* 手机端：每行筛选项单行横向滑动；隐藏滚动条避免误看成「下划线」 */
@media (max-width: 767px) {
  .st42-filter.st42-filter--listhub .st42-filter-row {
    flex-wrap: nowrap;
    gap: 10px;
  }

  .st42-filter.st42-filter--listhub .st42-filter-label {
    flex: 0 0 48px;
    min-width: 48px;
    max-width: 48px;
    line-height: 28px;
  }

  .st42-filter.st42-filter--listhub .st42-filter-options {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    min-width: 0;
    gap: 8px;
    padding-bottom: 2px;
    margin-bottom: 0;
    scrollbar-width: none;
  }

  .st42-filter.st42-filter--listhub .st42-filter-options::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  .st42-filter.st42-filter--listhub .st42-filter-options a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

.st42-list-meta {
  margin: 14px 4px 6px;
  color: #888;
  font-size: 13px;
}

/* 搜索页：内联二次搜索 */
.st42-page-search .st42-search-hero .module-heading {
  margin-bottom: 6px;
}

.st42-search-inline {
  margin: 12px 4px 4px;
}

.st42-search-inline__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  max-width: 560px;
}

.st42-search-inline__input {
  flex: 1 1 220px;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  font-size: 14px;
  color: #1f2937;
  background: #fff;
  box-sizing: border-box;
}

.st42-search-inline__input:focus {
  outline: none;
  border-color: var(--STUI-HC, #ff2a14);
  box-shadow: 0 0 0 2px rgba(255, 42, 20, 0.12);
}

.st42-search-inline__btn {
  flex: 0 0 auto;
  height: 40px;
  padding: 0 22px;
  border: 0;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--STUI-HC, #ff2a14);
  cursor: pointer;
}

.st42-search-inline__btn:hover {
  filter: brightness(1.05);
}

.st42-list-meta--pager {
  margin-top: 10px;
}
/* 列表分页：浅底高对比（避免继承/内联深色字在深色条上「全黑看不见」） */
#index-main .st42-list-pager {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  padding: 14px 12px 18px;
  margin-top: 6px;
  color: #374151;
  background: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%);
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

#index-main .st42-list-pager table {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  border: 0;
  color: inherit;
}

#index-main .st42-list-pager tbody,
#index-main .st42-list-pager tr {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 10px;
}

#index-main .st42-list-pager td {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  vertical-align: middle;
  color: #4b5563;
}

#index-main .st42-list-pager br {
  display: none;
}

/* 任意层级链接（帝国 table 结构或平铺 a） */
#index-main .st42-list-pager a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  min-width: 36px;
  padding: 0 14px;
  box-sizing: border-box;
  border-radius: 999px;
  background: #fff !important;
  color: #1f2937 !important;
  border: 1px solid #d1d5db !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  line-height: 1.2;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

#index-main .st42-list-pager a:hover {
  background: #fef3f2 !important;
  border-color: #fecaca !important;
  color: var(--STUI-HC, #ff2a14) !important;
}

/* 当前页：b / strong / font / .pagenow（覆盖 font 内联色） */
#index-main .st42-list-pager font,
#index-main .st42-list-pager table td b,
#index-main .st42-list-pager table td strong,
#index-main .st42-list-pager table td .pagenow {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 0 10px;
  box-sizing: border-box;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--STUI-HC-0, #ff9800) 0%, var(--STUI-HC, #ff2a14) 100%) !important;
  color: #fff !important;
  border: none !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0 2px 10px rgba(255, 42, 20, 0.28);
}

#index-main .st42-list-pager table td span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 36px;
  color: #6b7280 !important;
  font-size: 13px;
}

#index-main .st42-list-pager > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  min-width: 36px;
  padding: 0 14px;
  margin: 2px 4px;
  box-sizing: border-box;
  border-radius: 999px;
  background: #fff !important;
  color: #1f2937 !important;
  border: 1px solid #d1d5db !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
}

#index-main .st42-list-pager > a:hover {
  background: #fef3f2 !important;
  border-color: #fecaca !important;
  color: var(--STUI-HC, #ff2a14) !important;
}

/* 首页焦点：与 042 站一致的幻灯指针与可点区域 */
.stui-slide {
  pointer-events: none;
}
.swiper-slide-active .stui-slide {
  pointer-events: auto;
}
.stui-wrapper.swiper-wrapper .swiper-slide-active {
  pointer-events: auto;
}
.stui-slide {
  display: block;
}
.stui-slide.banner {
  padding-top: 35%;
}
@media (max-width: 767px) {
  .stui-slide.banner {
    padding-top: 45%;
  }
}
.txt-info {
  position: absolute;
  bottom: 3vw;
  left: 6vw;
  width: 68%;
  color: #fff;
  z-index: 10;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  text-overflow: ellipsis;
  overflow: hidden;
}
.txt-info .gate span {
  background-color: rgba(0, 0, 0, 0.5);
  display: inline-block;
  padding: 0 6px;
  border-radius: 2px;
  font-size: 11px;
  line-height: 20px;
  height: 20px;
  opacity: 0.65;
}
.txt-info .name {
  font-size: 22px;
  color: #fff;
  font-weight: 700;
}
.txt-info .info {
  max-width: 92%;
  font-size: 13px;
  opacity: 0.85;
}
.swiper-container.pt20 .swiper-pagination {
  bottom: 12px !important;
}

/* Swiper 未初始化前避免多幻灯片叠在左上角 */
.swiper-container.pt20:not(.swiper-initialized) .swiper-slide:not(:first-of-type) {
  display: none !important;
}
.swiper-container.pt20:not(.swiper-initialized) {
  width: 100%;
}

/* 列表等精简顶栏：仅一条「搜索」时不要被 style.css 的 nth-child(-n+2) 隐藏 */
.page .header-module .nav-menu-items > li.nav-menu-search {
  display: flex !important;
  align-items: center;
}

/* 焦点区与主内容全宽 */
.swiper-container.pt20 {
  width: 100%;
  max-width: 100%;
}

/* 首页友情链接 */
.st42-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 8px;
}
.st42-link-list a {
  color: inherit;
  opacity: 0.85;
}

/* 首页 / 列表 影片卡片：圆角封面、右上备注、底栏地区/年份渐变、标题与简介单行省略 */
/* 与 style.css 的 inline-block 默认 baseline 对齐不同：有简介的卡片会整格上移，标题与其它列错位 → 顶对齐 */
#index-main .module-item.st42-vod-card {
  vertical-align: top;
}

#index-main .module-item.st42-vod-card .module-item-cover {
  border-radius: 14px;
  overflow: hidden;
}

#index-main .module-item.st42-vod-card .module-item-cover::before {
  opacity: 0;
  transition: opacity 0.2s ease;
}

#index-main .module-item.st42-vod-card .module-item-cover:hover::before {
  opacity: 0.18;
}

#index-main .module-item.st42-vod-card .module-item-pic.st42-vod-card__link {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}

#index-main .module-item.st42-vod-card .module-item-pic.st42-vod-card__link img {
  z-index: 0;
}

#index-main .module-item.st42-vod-card .module-item-pic.st42-vod-card__link--meta::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  z-index: 1;
  pointer-events: none;
  border-radius: 0 0 14px 14px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.4) 48%, transparent 100%);
}

#index-main .module-item.st42-vod-card .st42-vod-card__badge {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  max-width: calc(100% - 16px);
  padding: 3px 10px;
  border-radius: 999px;
  background: #e53935;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}

#index-main .module-item.st42-vod-card .st42-vod-card__badge:empty {
  display: none;
}

#index-main .module-item.st42-vod-card .st42-vod-card__region {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 8px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  text-align: left;
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

#index-main .module-item.st42-vod-card .module-item-titlebox {
  margin-top: 8px;
}

#index-main .module-item.st42-vod-card .st42-vod-card__title {
  display: block;
  color: #111827;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#index-main .module-item.st42-vod-card .st42-vod-card__desc {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#index-main .module-item.st42-vod-card .st42-vod-card__desc:empty {
  display: none;
  margin-top: 0;
}

/*
 * 列表页「影片列表」与首页「正在热播」同为 module-bg + module-lines-list；
 * style.css / 下方小屏规则会按 nth-child 隐藏多余卡片，列表每页多条时必须整页展示。
 */
#index-main .module-list.module-lines-list.st42-list-vod-grid .module-items > .module-item,
#main .module-list.module-lines-list.st42-list-vod-grid .module-items > .module-item {
  display: inline-block !important;
  vertical-align: top !important;
}

/* 首页通栏（正在热播，仅 14 条）：小屏与 style.css 对齐；勿作用于 .st42-list-vod-grid 列表页 */
@media (max-width: 559px) {
  #index-main .module-bg .module-lines-list:not(.st42-list-vod-grid) .module-item:nth-child(n + 13) {
    display: inline-block !important;
    vertical-align: top;
  }
  #index-main .module-bg .module-lines-list:not(.st42-list-vod-grid) .module-item:nth-child(n + 15) {
    display: none !important;
  }
}

/* 顶栏：主导航与搜索/记录之间错位、竖条阴影（style 里 float + flex 混用、header-module::before） */
#header .header-content .content > .nav.swiper {
  min-width: 0;
}

#header .header-module .nav-menu-items {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  float: none;
}

#header .header-module .nav-menu-items > .nav-menu-item,
#header .header-module .nav-menu-items > .space-line-bold {
  float: none;
}

#header .header-module .space-line-bold {
  flex-shrink: 0;
  align-self: center;
  margin: 0 10px;
}

@media (max-width: 559px) {
  #header .header-module::before {
    display: none !important;
  }
}

/* 分类页 class_page.temp.shoutu42.htm */
#index-main.st42-class-page .st42-class-lead {
  margin: -6px 0 14px;
  padding: 0 2px;
  font-size: 14px;
  color: #8a8f99;
  line-height: 1.55;
}

#index-main.st42-class-page .st42-class-empty {
  margin: 10px 2px 8px;
  font-size: 15px;
  color: #6b7280;
}

#index-main.st42-class-page .st42-class-hero .st42-class-quick {
  margin-bottom: 2px;
}

#index-main.st42-class-page .st42-class-group .module-heading .module-title a {
  color: inherit;
  text-decoration: none;
}

#index-main.st42-class-page .st42-class-group .module-heading .module-title a:hover {
  color: var(--STUI-HC, #ff2a14);
}

/* 内容页 show.temp.shoutu42.htm — DOM 与 042 voddetail 一致，样式以 style.css 为准 */
#main.st42-show-page .box.view-heading {
  margin-left: 0;
  margin-right: 0;
}

#main.st42-show-page .st42-show-block {
  margin-bottom: 14px;
}

#main.st42-show-page .st42-show-line-tabs .module-tab-item.tab-item {
  cursor: pointer;
}

#main.st42-show-page .module-lines-list .module-item {
  vertical-align: top;
}

/* 仅视觉隐藏，保留给读屏与 SEO 的标题 */
.st20-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ========== 播放页 play.temp.shoutu42.htm：042 vodplay DOM + 帝国播放器填入 MacPlayer ========== */
.st42-play-bigicon {
  font-size: 26px;
  margin-left: 4px;
  line-height: 1;
  display: block;
}

.st42-ecms-macplayer {
  position: relative;
  overflow: hidden;
}

.st42-macplayer-fill {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

.st42-macplayer-video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #000;
}

.st42-macplayer-fill iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
}

.st42-macplayer--dp #playera1 {
  position: absolute !important;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.st42-macplayer-bigplay {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 8;
  width: 68px;
  height: 68px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--STUI-HC, #ff2a14);
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.st42-macplayer-bigplay:hover {
  transform: translate(-50%, -50%) scale(1.04);
}

.st42-macplayer--video.is-playing .st42-macplayer-bigplay,
.st42-macplayer--iframe.is-playing .st42-macplayer-bigplay,
.st42-macplayer--dp.is-playing .st42-macplayer-bigplay {
  opacity: 0;
  pointer-events: none;
}

.st42-macplayer--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}

.st42-macplayer-msg {
  margin: 0;
  padding: 16px;
  color: #aaa;
  font-size: 14px;
  text-align: center;
}

.st42-side-empty {
  margin: 12px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 13px;
}

.player-block .tips-swiper {
  height: 40px;
}

.play #main .content > .module .module-lines-list .module-item {
  display: inline-block !important;
  vertical-align: top;
}

.st20-play-dp-msg {
  margin: 0;
  padding: 1rem;
  font-size: 14px;
  text-align: center;
}

.st20-play-dp-msg--warn {
  color: #94a3b8;
}

.st20-play-dp-msg--err {
  color: #f87171;
}
