/* 原全局样式修改：移除user-select的全局禁用 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  touch-action: pan-y !important;
  /* 删掉这两行全局禁用 ↓ */
  /* -webkit-user-select: none !important; */
  /* user-select: none !important; */
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;
}

/* 新增：仅对「非文本交互元素」禁用选择（防双击放大） */
/* 这些元素不需要选中，禁用选择避免双击放大 */
.pic, .search_header, .sear_btn, .paging a, .paging span, .ak, .search_logo {
  -webkit-user-select: none !important;
  user-select: none !important;
}

/* 关键：对文字区域放开选择权限 */
.search-info, .result_title, .result_detail, .reusltbox_info, .sear_jg, .nullresult {
  -webkit-user-select: text !important; /* 允许webkit浏览器选中文字 */
  user-select: text !important; /* 允许所有浏览器选中文字 */
}
/* ======================================
   1. 全局基础样式（仅1次重置，避免冲突）
====================================== */
* { 
  margin: 0; 
  padding: 0; 
  box-sizing: border-box; 
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
::-webkit-scrollbar {
  display: none !important;
}
body { 
  color: #333; /* 恢复黑色字体 */
  background: #f8f9fa; 
  line-height: 1.6; 
  font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;
  overflow-x: hidden !important; /* 强制禁止全局横向滚动 */
}
a { 
  color: #333; /* 链接恢复黑色 */ 
  text-decoration: none; 
}
a:hover { 
  color: #007aff; /* hover保留蓝色 */ 
}
.clear { 
  clear: both; 
  height: 0; 
  font-size: 0; 
  line-height: 0; 
}

/* ======================================
   2. 通用组件：头部导航+搜索（详情页/首页共用）
====================================== */
/* 2.1 第一行：Logo + 搜索框（40px 高） */
.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  height: 40px;
  background-color: #2563eb;
  box-shadow: 0 2px 12px rgba(37, 99, 235, 0.2);
}
.header-top .logo {
  width: 120px;
  height: 40px;
  flex-shrink: 0; /* 固定Logo宽度，不压缩 */
}
.logo-box {
  width: 120px;
  height: 40px;
  background-color: #2563eb;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 4px;
  {if !empty($maccms.site_logo)} background-image: url({$maccms.site_logo|mac_url_img});{/if}
}
/* 搜索框自适应 */
.header-top .hd_search_inline {
  flex: 1;
  min-width: 80px;
  max-width: 300px;
  margin: 0 10px; /* PC端间距保持不变 */
}
.hd_search_inline form {
  display: flex;
  align-items: center;
  width: 100%; /* 表单占满搜索框容器 */
}
.hd_search_inline input[type="text"] {
  flex: 1;
  height: 32px;
  padding: 0 10px;
  font-size: 16px !important; /* 强制 16px，防 Safari 放大 */
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 4px;
  outline: none;
  background: rgba(255,255,255,0.15);
  color: white;
}
.hd_search_inline input[type="text"]::placeholder {
  color: rgba(255,255,255,0.6);
}
.hd_search_inline input[type="submit"] {
  width: 0px;
  height: 32px;
  background-size: 16px;
  border: none;
  cursor: pointer;
  flex-shrink: 0; /* 提交按钮不占空间 */
}

/* 2.2 第二行：分类导航栏（无 flex，纯 inline-block） */
.header-nav {
  height: 40px;
  background-color: #2563eb;
  padding: 0 15px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.header-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap; /* 阻止换行 */
}
.header-nav li {
  display: inline-block;
  vertical-align: middle; /* 对齐基线 */
  height: 40px;
  line-height: 40px;
  padding: 0 10px;
  font-size: min(14px, 3.2vw);
  color: white;
}
.header-nav li a {
  color: white;
  text-decoration: none;
  display: block;
  height: 40px;
  line-height: 40px;
  padding: 0 8px;
}
.header-nav li.active a,
.header-nav li a:hover {
  color: #e0e7ff;
  font-weight: bold;
}

/* ======================================
   3. 首页核心样式（100%还原原始版）
====================================== */
/* 首页主体：flex布局，左右分类逐一对齐 */
.wrapper.qbphb {
  padding: 20px 0;
  background: #fff;
  overflow: hidden !important;
  clear: both;
  width: 100%;
  display: flex; /* 核心：flex布局，左右分类逐行对齐 */
  flex-wrap: wrap;
}

/* 左侧热播榜容器：固定25%宽度 */
.left-rank {
  width: 25%;
  box-sizing: border-box;
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
}
/* 单个热播榜项：与右侧单个分类等高 */
.left-rank .rank-item-wrap {
  width: 100%;
  margin-bottom: 15px; /* 与右侧分类间距一致 */
}

/* 右侧频道容器：固定75%宽度 */
.right.r {
  width: 75%;
  box-sizing: border-box;
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
}
/* 单个右侧分类项：与左侧热播榜一一对应 */
.right.r .type-item-wrap {
  width: 100%;
  margin-bottom: 15px; /* 与左侧间距一致 */
}

/* 频道标题样式（统一左右分类标题） */
.nytitle {
  padding: 15px 0;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.nytitle h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  color: #333; /* 标题恢复黑色 */
  flex-shrink: 0;
}
.nytitle .red {
  color: #e63946;
  font-weight: bold;
}
.nytitle_type {
  margin: 0;
  padding: 0;
  list-style: none;
  flex-shrink: 0;
}
.nytitle_type li {
  display: inline-block;
  margin-left: 0;
}
.nytitle_type a {
  color: #007aff; /* 更多按钮保留蓝色 */
  font-size: 14px;
  font-weight: 500;
}

/* 通用列表样式 r_list（原始版完整保留） */
.r_list {
  list-style: none;
  padding: 0;
  margin: 15px 0;
  width: 100%;
}
.r_list li {
  float: left;
  width: 25%;
  box-sizing: border-box;
  padding: 0 5px;
  margin-bottom: 15px;
  position: relative;
}
.r_list .hidden-mobile { display: none; }
.r_img {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 60%;
  overflow: hidden;
  background: linear-gradient(45deg, #007aff, #0055b3);
  border-radius: 8px;
  margin-bottom: 8px;
}
.r_img span {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0,0,0,0.6);
  color: white;
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 4px;
  z-index: 2;
}
.img_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-color: #007aff;
  background-repeat: no-repeat;
}
.lazyload { opacity: 0; transition: opacity 0.3s; }
.lazyloaded { opacity: 1; }

.r_list .name {
  margin: 0 0 5px;
  font-size: 14px;
  font-weight: 600;
  color: #333; /* 恢复黑色 */
}
.r_list .zy,
.r_list .dy {
  margin: 0;
  font-size: 12px;
  color: #666; /* 次要文本灰色 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.r_list .zy { margin-bottom: 3px; }
.r_list .dy { margin-bottom: 0; }

/* 核心样式：r_list1（100%还原原始版） */
.r_list1 {
  list-style: none;
  padding: 0;
  margin: 15px 0;
  overflow: hidden !important;
  width: 100%;
}

/* 仅右侧列表PC端横向网格布局（4列） */
@media (min-width: 768px) {
  .right.r .r_list1.pc-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* 列间距 */
  }
  .right.r .r_list1.pc-grid li {
    float: left;
    width: calc(25% - 10px) !important; /* 4列 */
    margin-right: 0 !important;
    margin-bottom: 10px;
    padding: 8px;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    background: #f8f9fa;
  }
}

/* 通用列表项样式（原始版核心，整合版丢失） */
.r_list1 li {
  padding: 6px 0;
  border-bottom: 1px dashed #eee;
  font-size: 13px;
  line-height: 22px;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  position: relative;
  padding-left: 25px !important; /* 调整左内边距，避免数字覆盖 */
  color: #333; /* 恢复黑色 */
}
.r_list1 li:last-child { border-bottom: none; }

/* 序号样式：改为黑色普通数字，无醒目背景 */
.r_list1 .num {
  display: inline-block;
  width: 20px; /* 缩小宽度，避免占用过多空间 */
  height: 22px;
  color: #333; /* 黑色数字，不醒目 */
  text-align: left; /* 左对齐，更自然 */
  line-height: 22px;
  font-weight: normal; /* 取消粗体 */
  font-size: 13px; /* 与文本同字号 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  flex-shrink: 0;
  background: transparent !important; /* 移除红色背景 */
  border-radius: 0 !important; /* 移除圆形 */
}

/* 左侧热播榜样式（强制纵向，无多余样式） */
.left-rank .r_list1 {
  margin: 10px 0;
}
.left-rank .r_list1 li {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 4px 0 !important;
  border: none !important;
  background: transparent !important;
  padding-left: 25px !important;
}
.r_list1 .rank-item {
  display: inline-block;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #333;
}
.r_list1 .rank-name {
  display: inline-block;
  max-width: calc(100% - 60px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  color: #333;
}
.r_list1 .rank-hits {
  display: inline-block;
  color: #999;
  font-size: 11px;
  margin-left: 5px;
  vertical-align: middle;
  flex-shrink: 0;
}

/* 右侧列表：备注样式（仅红色字体，无框框） */
.r_list1 .show_pf {
  display: inline; /* 改为行内，贴合文本 */
  color: #e63946; /* 红色字体 */
  padding: 0 !important; /* 移除内边距 */
  background: transparent !important; /* 移除背景 */
  border-radius: 0 !important; /* 移除圆角 */
  font-size: 13px; /* 与片名同字号 */
  margin-left: 2px; /* 保留轻微间距 */
  vertical-align: baseline; /* 基线对齐 */
}

/* 页脚样式（100%还原原始版） */
footer {
  background: #fff;
  border-top: 1px solid #eee;
  padding: 20px 0 15px;
  color: #333; /* 恢复黑色 */
}
.footer-content {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.footer-section h3 {
  font-size: 16px;
  margin-bottom: 10px;
  color: #333; /* 恢复黑色 */
  font-weight: 700;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li {
  margin-bottom: 6px;
}
.footer-links a {
  color: #666; /* 页脚链接灰色 */
  font-size: 14px;
  transition: all 0.2s;
}
.footer-links a:hover {
  color: #007aff;
  text-decoration: underline;
}
.copyright {
  text-align: center;
  padding-top: 15px;
  border-top: 1px solid #eee;
  color: #999;
  font-size: 12px;
  margin-top: 20px;
}

/* ======================================
   4. 详情页核心样式（保留所有原有布局）
====================================== */
/* 4.1 详情页基础容器 */
.wrapper {width: 100%; padding: 0; margin: 0;}
.left {width: 100%; padding: 0;}

/* 4.2 核心卡片：PC弹性布局，移动端块布局 */
.detail-card {
  background-color: #f8fafc;
  border-radius: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02);
  overflow: hidden;
  margin: 0;
  border: none;
  display: flex;
  align-items: flex-start;
  gap: clamp(20px, 3vw, 30px);
  padding: clamp(20px, 3vw, 30px);
  width: 100%;
  max-width: none !important;
}

/* 4.3 封面图：自适应尺寸 */
.leftimg {
  position: relative;
  text-align: center;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 8px;
  width: clamp(200px, 18vw, 240px);
  aspect-ratio: 230/320;
  background-color: #f8fafc !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  border: 1px solid #f0f4f8;
  margin: clamp(8px, 2vw, 12px) 0 5px !important;
}
.leftimg .img_wrapper_detail {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
  background-size: cover !important;
  background-position: center !important;
}
.leftimg .img_wrapper_detail.lazyloaded {opacity: 1;}

/* 4.4 文字信息区：占满剩余宽度 */
.con_xinxi {
  background-color: transparent !important;
  padding: 0 !important;
  border: none !important;
  flex: 1;
  min-width: 0; /* 核心：解决flex子元素溢出问题 */
}

/* 4.5 影片名称 */
.con_name {width: 100%; margin: 0 0 15px 0;}
.con_name h1 {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: bold;
  margin: 0 !important;
  color: #2d3748;
  line-height: 1.3;
  text-align: left;
}
.con_name h1 a {color: inherit; text-decoration: none;}
.con_name font {display: none !important;}

/* 4.6 通用图标对齐样式 */
.con_xinxi .info-row {
  display: flex;
  align-items: center; /* 垂直居中 */
  font-size: clamp(14px, 1.5vw, 16px);
  color: #4a5568;
  line-height: 1.6;
  margin-bottom: 6px;
  min-width: 0;
}
.con_xinxi .info-row em {
  font-style: normal;
  color: #718096;
  margin-right: 6px;
  width: 16px; 
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  margin-top: 0 !important; /* 无偏移 */
}
.con_xinxi .info-row strong {
  font-weight: 600;
  color: #2d3748;
  display: inline-block;
  margin-right: 3px;
  flex-shrink: 0;
}
.con_xinxi .info-row .content {
  flex: 1;
  line-height: 1.6;
  font-size: inherit;
  word-break: break-all;
  word-wrap: break-word;
  min-width: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}

/* 4.7 演员行样式 */
.actor-row {
  display: flex;
  align-items: center; /* 垂直居中 */
  font-size: clamp(14px, 1.5vw, 16px);
  color: #4a5568;
  line-height: 1.6;
  margin-bottom: 10px;
  min-width: 0;
}
.actor-row em {
  font-style: normal;
  color: #718096;
  margin-right: 4px;
  width: 16px; 
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  margin-top: 0 !important; /* 无偏移 */
}
.actor-row strong {
  font-weight: 600;
  color: #2d3748;
  display: inline-block;
  margin-right: 3px;
  flex-shrink: 0;
}
.actor-row .actor-content {
  flex: 1;
  line-height: 1.6;
  font-size: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  word-break: break-all;
}

/* 4.8 简介行样式（最终修复版） */
.desc-row {
  display: block !important; /* 强制块级布局，取消flex */
  font-size: clamp(14px, 1.5vw, 16px);
  color: #4a5568;
  line-height: 1.6;
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px solid #f0f4f8;
  min-width: 0;
}
.desc-row .desc-title {
  margin-bottom: 8px; 
  font-weight: 700; 
  color: #000; 
  font-size: inherit;
}
.desc-row .desc-title em {
  font-style: normal;
  color: #718096;
  margin-right: 4px;
  width: 16px; 
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  margin-top: 0 !important;
}
/* 移动端隐藏简介标题的图标 */
@media (max-width: 767px) {
  .desc-row .desc-title em {
    display: none !important;
  }
}
.desc-row .desc-content {
  line-height: 1.6;
  font-size: inherit;
  word-break: break-all;
  word-wrap: break-word;
  min-width: 0;
  padding-top: 0;
  margin-top: 0;
}
/* 4.9 详情页同分类推荐+面包屑 */
.qbphb {
  margin: 0;
  padding: 15px 12px !important;
  background-color: #f8fafc;
  width: 100%;
  margin-top: 1px;
}
.qbphb .right.r {padding: 0; width: 100%; float: none;}
.qbphb .nytitle.bof_bot {margin-bottom: 12px !important; padding: 0;}
.qbphb .nytitle.bof_bot li {
  display: inline-block;
  font-size: 16px !important;
  font-weight: 600;
  color: #2d3748;
}
.qbphb .con_list_img {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 12px !important;
}
.qbphb .con_list_img li {float: none; width: 100%; padding: 0;}
.qbphb .con_list_img li a {
  display: block;
  text-align: center;
  color: #4a5568;
  text-decoration: none;
}
.qbphb .con_list_img li .img_wrapper {
  width: 100%;
  height: 0;
  padding-bottom: 130%;
  background-color: #f8f8f8;
  margin: 0 auto;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
}
.qbphb .con_list_img li .name {
  margin-top: 6px !important;
  font-size: 12px !important;
  font-weight: 600;
  color: #2d3748;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mbx_bg {background-color: #fff; padding: 8px 12px !important; width: 100%;}
.mbx_box {max-width: none; width: 100%;}
.mbx_left {font-size: 12px !important; color: #666;}
.mbx_left a {color: #2d3748; text-decoration: none; margin: 0 3px !important;}

/* ======================================
   5. 播放区核心样式（已修复：左右滑动正常）
====================================== */
.play-page-tab-nav-wrapper {
  width: 100%;
  background-color: #ffffff;
  border-bottom: 1px solid #eef2f6;
  padding: 0 20px;
  margin: 20px 0 0 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  position: relative !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
.play-page-tab-nav-item {
  padding: 14px 24px;
  font-size: clamp(14px, 1.5vw, 16px);
  color: #6b7280;
  cursor: pointer;
  border: none;
  background: transparent;
  position: relative;
  transition: all 0.3s ease;
  font-weight: 500;
  pointer-events: auto !important;
  user-select: none;
  touch-action: manipulation;
}
.play-page-tab-nav-item.active {
  color: #1f2937;
  font-weight: 600;
}
.play-page-tab-nav-item.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #3b82f6;
  border-radius: 3px 3px 0 0;
}
.play-page-tab-nav-item:hover:not(.active) {
  color: #3b82f6;
  background-color: #f9fafb;
}
.play-page-tab-content-wrapper {
  width: 100%;
  background-color: #ffffff;
  padding: 24px;
  margin: 0 0 20px 0;
  min-height: 400px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  border-radius: 0 0 8px 8px;
  position: relative !important;
  z-index: 999 !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
.play-page-tab-content-item {
  display: none;
  width: 100%;
  height: 100%;
  overflow: visible !important;
}
.play-page-tab-content-item.active {
  display: block;
}

/* 演员、影评区域：取消滚动，直接展示全部内容 */
.play-page-scroll-container {
  width: 100%;
  overflow: visible;
  padding-right: 0;
}
.play-page-scroll-container::-webkit-scrollbar {
  display: none;
}

/* ====================== 核心：播放源横向滚动已修复 ====================== */
.play-page-playlist-tab {
  width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 8px;
  margin-bottom: 16px;
  -webkit-overflow-scrolling: touch !important;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: relative !important;
  z-index: 1 !important;
}
.play-page-playlist-tab::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.play-page-con_c2_title.swiper-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 0 !important;
  width: max-content !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
.play-page-tab-switch.swiper-slide {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
  width: auto !important;
  flex-shrink: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.play-page-play-source-item {
  padding: 8px 16px !important;
  font-size: 14px;
  color: #6b7280;
  background-color: #f9fafb;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  outline: none;
  text-decoration: none;
  display: inline-block !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.play-page-play-source-item.active {
  background-color: #3b82f6;
  color: #ffffff;
  font-weight: 500;
}
.play-page-playlist-tab span {
  display: inline-flex !important;
  align-items: center;
  color: #9ca3af;
  margin: 0 8px !important;
  padding: 0 !important;
  white-space: nowrap;
  flex-shrink: 0;
}

/* 隐藏提示条 */
.play-page-play-tips {
  display: none;
}

/* 播放集数列表 */
.play-page-episode-list {
  list-style: none;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 16px;
  background: #f8fafc;
  border-radius: 12px;
  max-height: 400px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: relative;
}
.play-page-episode-list::-webkit-scrollbar {
  display: none;
}

/* 集数外层小框 */
.play-page-episode-item {
  margin: 0;
  padding: 6px;
  background-color: #e9eff6;
  border: 1px solid #dde5ee;
  border-radius: 8px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
}
.play-page-episode-item:hover {
  background-color: #dce6f1;
  border-color: #c8d5e3;
}

/* 最后一集new标识 */
.play-page-episode-item:last-child::before {
  content: 'new';
  position: absolute;
  top: -2px;
  left: -2px;
  font-size: 10px;
  color: #fff;
  background-color: #f00;
  padding: 1px 4px;
  border-radius: 2px;
  font-weight: bold;
  z-index: 1;
  transform: scale(0.9);
}

/* 集数链接 */
.play-page-episode-link {
  width: 100%;
  height: 100%;
  padding: 12px 8px;
  margin: 0;
  font-size: 14px;
  color: #374151;
  background-color: #ffffff;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
  direction: ltr;
}
.play-page-episode-link.active {
  background-color: #3b82f6;
  color: #fff;
  box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
}

/* 演员 */
.play-page-role-section {
  width: 100%;
  background: #f8fafc;
  border-radius: 12px;
  padding: 16px;
}
.play-page-role-list {
  list-style: none;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
}
.play-page-role-card {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 20px;
  transition: all 0.3s ease;
}
.play-page-role-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.play-page-role-avatar {
  width: 90px;
  height: 135px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #eef2f7;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: background-image 0.3s ease;
}
.play-page-role-card-container {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.play-page-role-info {
  flex: 1;
  min-width: 0;
}
.play-page-role-name {
  font-size: 17px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 10px;
  display: block;
}
.play-page-role-actor {
  font-size: 14px;
  color: #6b7280;
  margin-bottom: 12px;
  line-height: 1.5;
}
.play-page-role-desc {
  font-size: 14px;
  color: #374151;
  line-height: 1.7;
  word-break: break-all;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 影评 */
.play-page-comment-section {
  width: 100%;
}
.play-page-comment-content-wrapper {
  background-color: #fdf6f6;
  border-radius: 8px;
  padding: 20px 16px;
  box-shadow: 0 1px 3px rgba(220, 180, 180, 0.1) inset;
  font-size: 15px;
  color: #333;
  line-height: 1.8;
  letter-spacing: 0.5px;
  word-break: break-word;
  text-align: justify;
}
.play-page-comment-content-wrapper p {
  margin: 0 0 16px 0;
}
.play-page-comment-content-wrapper p:last-child {
  margin-bottom: 0;
}
.play-page-comment-content-wrapper img {
  display: block;
  margin: 20px auto;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  border: 1px solid #f0e0e0;
}
.play-page-comment-content-wrapper a {
  color: #d64b4b;
  text-decoration: none;
}
.play-page-comment-content-wrapper a:hover {
  text-decoration: underline;
}

/* 播放区通用 */
.play-page-tab-content {
  display: none;
  overflow: visible !important;
}
.play-page-no-data-tip {
  text-align: center;
  padding: 80px 0;
  color: #9ca3af;
  font-size: 15px;
  line-height: 1.8;
}
.play-page-no-data-tip i {
  font-size: 48px;
  margin-bottom: 16px;
  display: block;
  color: #dbeafe;
}

/* ======================================
   6. 播放源图标修复（完整不变）
====================================== */
.play-page-play-source-item,
.details-play-nav > li > a, 
.player-more-list li a {
  border-radius: 0 !important;
  border: none !important;
  line-height: 1.42857143 !important;
  position: relative !important;
  display: block !important;
  padding: 10px 15px !important;
  padding-left: 35px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  color: #6b7280 !important;
  background-color: #f9fafb !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.play-page-play-source-item.active,
.details-play-nav > li > a.active,
.player-more-list li a.active {
  background-color: #3b82f6 !important;
  color: #ffffff !important;
  font-weight: 500 !important;
}

.play-page-gico {
  background-image: url("../images/palyer.png") !important;
  background-repeat: no-repeat !important;
  background-position: 15px -497px !important;
}
.play-page-gico.lz { background-position: 15px -203px !important; }
.play-page-gico.qiyi { background-position: 15px -79px !important; }
.play-page-gico.yuku { background-position: 15px 10px !important; }
.play-page-gico.ku6 { background-position: 15px -19px !important; }
.play-page-gico.pptv { background-position: 15px -49px !important; }
.play-page-gico.ifeng { background-position: 15px -111px !important; }
.play-page-gico.tudou { background-position: 15px -142px !important; }
.play-page-gico.sinahd { background-position: 15px -173px !important; }
.play-page-gico.kankan { background-position: 15px -204px !important; }
.play-page-gico.letv { background-position: 15px -234px !important; }
.play-page-gico.kumi { background-position: 15px -265px !important; }
.play-page-gico.tianyi { background-position: 15px -293px !important; }
.play-page-gico.leshi, .play-page-gico.levp { background-position: 15px -235px !important; }
.play-page-gico.m1905 { background-position: 15px -322px !important; }
.play-page-gico.taomi { background-position: 15px -351px !important; }
.play-page-gico.wole { background-position: 15px -379px !important; }
.play-page-gico.cntv { background-position: 15px -409px !important; }
.play-page-gico.sohu { background-position: 15px -440px !important; }
.play-page-gico.pps { background-position: 15px -469px !important; }
.play-page-gico.other, .play-page-gico.qq { background-position: 15px -497px !important; }
.play-page-gico.wasu { background-position: 15px -527px !important; }
.play-page-gico.funshion { background-position: 15px -557px !important; }
.play-page-gico.cztv, .play-page-gico.lmtv, .play-page-gico.zhejiang { background-position: 15px -586px !important; }
.play-page-gico.beva { background-position: 15px -644px !important; }
.play-page-gico.tangdou { background-position: 15px -675px !important; }
.play-page-gico.baofeng { background-position: 15px -701px !important; }
.play-page-gico.boosj { background-position: 15px -730px !important; }
.play-page-gico.mgtv { background-position: 15px -761px !important; }
.play-page-gico.v360 { background-position: 15px -789px !important; }
.play-page-gico.brtn { background-position: 15px -820px !important; }
.play-page-gico.xiankan { background-position: 15px -856px !important; }
.play-page-gico.ffhd { background-position: 15px -886px !important; }
.play-page-gico.xigua { background-position: 15px -918px !important; }
.play-page-gico.jjvod { background-position: 15px -947px !important; }
.play-page-gico.xfplay { background-position: 15px -979px !important; }
.play-page-gico.pan { background-position: 15px -1010px !important; }

/* ======================================
   7. 响应式适配（完整不变）
====================================== */
/* PC端（≥768px） */
@media (min-width: 768px) {
  .right.r .r_list1.pc-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .right.r .r_list1.pc-grid li {
    float: left;
    width: calc(25% - 10px) !important;
    margin-right: 0 !important;
    margin-bottom: 10px;
    padding: 8px;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    background: #f8f9fa;
  }
  .actor-row .actor-content {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  .other-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px 15px;
  }
  .mobile-only-layout {display: none !important;}
  .r_list .hidden-mobile {display: block;}
  .footer-content {
    grid-template-columns: 2fr 1fr 1fr;
  }
  .wrapper.qbphb {
    display: flex !important;
  }
  .left-rank {
    display: flex !important;
    width: 25% !important;
  }
  .right.r {
    width: 75% !important;
    display: flex !important;
  }
  .r_list li,
  .right.r .r_list1.pc-grid li { 
    float: left !important;
    width: calc(25% - 10px) !important;
    margin-right: 0 !important;
  }
}

/* 移动端（≤767px） */
@media (max-width: 767px) {
  .wrapper.qbphb {
    display: block !important;
  }
  .left-rank {
    display: none !important;
    width: 100% !important;
  }
  .right.r {
    width: 100% !important;
    padding: 0 15px !important;
    display: block !important;
  }
  .r_list li,
  .right.r .r_list1.pc-grid li { 
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  .header-top {
    padding: 0 10px;
  }
  .header-top .logo {
    width: 100px;
    height: 40px;
  }
  .logo-box {
    width: 100px;
    height: 40px;
  }
  .header-top .hd_search_inline {
    margin: 0 12px; 
    max-width: 220px;
    min-width: 80px;
  }
  .header-nav {
    padding: 0 10px;
  }
  .header-nav li {
    padding: 0 12px;
    font-size: min(15px, 3.2vw);
  }
  .header-nav li a {
    padding: 0 10px;
  }
  .header-top .hd_search_inline input[type="text"] {
    font-size: 16px !important;
  }

  .detail-card {
    display: block !important;
    padding: 12px !important;
    gap: 0;
  }
  .leftimg {
    width: clamp(180px, 60vw, 250px);
    margin: 0 auto 10px auto !important;
  }
  .con_name h1 {
    text-align: center;
    font-size: clamp(18px, 5vw, 24px);
  }
  .actor-row {
    font-size: 13px !important;
    margin-bottom: 6px !important;
    line-height: 1.5;
  }
  .actor-row em {
    width: 14px !important;
    height: 14px !important;
    font-size: 13px !important;
    margin-right: 3px !important;
    margin-top: 0 !important;
  }
  .other-info-grid {display: none !important;}
  .mobile-only-layout {
    display: block !important;
    width: 100%;
  }
  .mobile-single-row {
    display: flex;
    align-items: center;
    font-size: 13px !important;
    color: #4a5568;
    line-height: 1.5;
    margin-bottom: 4px !important;
    width: 100%;
    min-height: 20px;
    height: auto;
  }
  .mobile-double-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px 8px;
    font-size: 13px !important;
    color: #4a5568;
    line-height: 1.5;
    margin-bottom: 4px !important;
    width: 100%;
  }
  .mobile-double-item {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 80px;
    min-height: 20px;
    height: auto;
  }
  .mobile-icon {
    font-style: normal;
    color: #718096;
    margin-right: 3px !important;
    width: 14px !important;
    height: 14px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 13px !important;
    margin-top: 0 !important;
  }
  .mobile-title {
    font-weight: 600;
    color: #2d3748;
    display: inline-block;
    margin-right: 2px !important;
    flex-shrink: 0;
    font-size: 13px !important;
  }
  .mobile-content {
    flex: 1;
    line-height: 1.5;
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 13px !important;
    min-width: 0;
  }
  .desc-row {
    font-size: 13px !important;
  }
}

/* ======================================
   底部猜你喜欢/相关推荐样式（协调版：PC撑满，无左右空白）
====================================== */
.related-recommend-wrapper {
  width: 100% !important;
  margin: 20px 0 40px 0 !important;
  padding: 24px !important;
  background-color: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.related-recommend-wrapper .recommend-title {
  width: 100% !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #eef2f6 !important;
  box-sizing: border-box !important;
}

.related-recommend-wrapper .recommend-title ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.related-recommend-wrapper .recommend-title a.current {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  text-decoration: none !important;
  cursor: default !important;
}

.related-recommend-wrapper .recommend-list {
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.related-recommend-wrapper .recommend-list::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
  height: 0 !important;
  overflow: hidden !important;
}

.related-recommend-wrapper .recommend-item {
  width: calc(16.666% - 10px) !important;
  margin: 0 5px 16px 5px !important;
  padding: 0 !important;
  float: left !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.related-recommend-wrapper .img_container_recommend {
  width: 100% !important;
  aspect-ratio: 1 / 1.4 !important;
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #eef2f7 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.3s ease !important;
  margin: 0 auto 8px auto !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.related-recommend-wrapper .img_container_recommend:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.related-recommend-wrapper .img_wrapper_recommend {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-color: #eef2f7 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.related-recommend-wrapper .recommend-name {
  width: 100% !important;
  font-size: 14px !important;
  color: #374151 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color 0.3s ease !important;
  line-height: 20px !important;
  box-sizing: border-box !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.related-recommend-wrapper .recommend-name:hover {
  color: #3b82f6 !important;
}

/* 移动端适配：猜你喜欢 */
@media (max-width: 768px) {
  .related-recommend-wrapper {
    padding: 16px !important;
  }
  .related-recommend-wrapper .recommend-item {
    width: calc(33.333% - 10px) !important;
    margin: 0 5px 12px 5px !important;
  }
  .related-recommend-wrapper .recommend-title a.current {
    font-size: 16px !important;
  }
  .related-recommend-wrapper .img_container_recommend {
    aspect-ratio: 1 / 1.4 !important;
    margin: 0 auto 6px auto !important;
  }
  .related-recommend-wrapper .recommend-name {
    font-size: 12px !important;
    line-height: 18px !important;
    height: 18px !important;
  }
}

/* ======================================
   极简页脚 - 简洁版
====================================== */
.footer {
  width: 100% !important;
  background: #fff !important;
  border-top: 1px solid #eef2f6 !important;
  padding: 20px 0 !important;
  margin-top: 30px !important;
  text-align: center !important;
  font-size: 12px !important;
  color: #9ca3af !important;
  line-height: 1.6 !important;
  box-sizing: border-box !important;
}
.footer .container {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
  box-sizing: border-box !important;
}
.footer a {
  color: #9ca3af !important;
  text-decoration: none !important;
  margin: 0 4px !important;
}
.footer a:hover {
  color: #3b82f6 !important;
}
@media (max-width: 768px) {
  .footer {
    padding: 15px 0 !important;
    font-size: 11px !important;
  }
}

/* ======================================
   PLAY页面最终版CSS（极小屏换行+集数无留白+纵向滚动）
====================================== */
/* PC端页面容器 */
.wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* 左右布局核心 */
.play-page-main {
    display: flex;
    flex-wrap: wrap;
    gap: 8px !important;
    padding: 8px !important;
    width: 100% !important;
    overflow-x: hidden !important;
}

/* 左侧播放器区域 */
.play-page-player {
    flex: 7 !important;
    min-width: 0 !important;
    border-radius: 8px !important;
    overflow: hidden;
    background: #fff;
    height: calc(100vh - 16px) !important;
    display: flex;
    flex-direction: column;
}

/* 右侧内容区（仅保留简介+播放源+集数） */
.play-page-sidebar {
    flex: 3 !important;
    min-width: 0 !important;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 16px) !important;
    background: #f8f9fa;
    padding: 0 !important;
    gap: 8px !important;
}

/* 内容简介+图片区域 */
.detail-info-wrapper {
    background: #fff;
    padding: 15px;
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    flex-shrink: 0;
}
.img-container {
    position: relative;
    width: 100%;
    padding-bottom: 60%;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 12px;
}
.detail-info-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.detail-info-item {
    display: flex;
    align-items: flex-start;
    font-size: 14px;
    line-height: 1.5;
}
.detail-info-label {
    min-width: 56px;
    color: #666;
    flex-shrink: 0;
}
.detail-info-text {
    color: #333;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
    white-space: normal;
    min-width: 0;
}

/* 右侧播放组容器 - 核心：集数纵向滚动 */
.play-source-container {
    flex: 1;
    overflow-y: auto !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    max-height: calc(100vh - 200px) !important;
}
.play-source-wrapper {
    background: #fff;
    padding: 15px;
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    overflow-x: hidden !important;
    position: relative;
}

/* 播放器容器 */
.player-wrap {
    width: 100%;
    background: #000;
    flex: 1;
    position: relative;
}
.player-container {
    position:absolute;
    top: 0;
    left: 0;
    width:100%;
    height: 100% !important;
}
.player-container > * {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    z-index: 1 !important;
}

/* 播放器底部栏 */
.player-bottom {
    background:#fff !important;
    padding:12px 15px;
    border-top:1px solid #eee;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    width: 100%;
    flex-shrink: 0;
}
.player-bottom-info {
    font-size:15px;
    font-weight:600;
}
.player-bottom-info a {
    color:#007aff;
}
.player-bottom-buttons {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.player-bottom-buttons li {
    flex-shrink: 0;
}
.player-bottom-buttons li a {
    display:inline-block;
    padding:6px 12px;
    background:#f0f0f0;
    border-radius:4px;
    font-size:13px;
    white-space:nowrap;
}
.player-bottom-buttons li a:hover {
    background:#007aff;
    color:#fff;
}

/* ========== 播放源：差异化胶囊样式 + 基础滚动逻辑 ========== */
.play-source-scroll-box {
  width: calc(100% - 30px) !important;
  max-width: calc(100% - 30px) !important;
  overflow: hidden !important;
  margin: 0 auto 15px auto !important;
  position: relative !important;
  pointer-events: auto !important;
}
.play-new-source-scroll {
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x mandatory !important;
  pointer-events: auto !important;
}
.play-new-source-scroll::-webkit-scrollbar {
  display: none !important;
}
.play-new-source-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  padding: 0 !important;
  margin: 0 !important;
  width: max-content !important;
  scroll-snap-type: x mandatory !important;
}
.play-new-source-item {
  flex-shrink: 0 !important;
  margin-right: 10px !important;
  scroll-snap-align: start !important;
}
.play-new-source-btn {
  display: inline-block !important;
  padding: 6px 20px !important;
  background: #e8f4ff !important;
  color: #007aff !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
  border: 1px solid #cce0ff !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.play-new-source-btn.active {
  background: #007aff !important;
  color: #fff !important;
  border-color: #007aff !important;
  box-shadow: 0 2px 4px rgba(0,122,255,0.2) !important;
}

/* ========== 集数列表：原有样式 + grid布局无留白 + 纵向滚动 ========== */
.play-new-episode-wrap {
  display: none !important;
}
.play-new-episode-wrap.active {
  display: block !important;
  width: 100% !important;
}
.play-new-episode-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)) !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.play-new-episode-item {
  list-style: none !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}
.play-new-episode-btn {
  display: block !important;
  padding: 8px 0 !important;
  text-align: center !important;
  background: #f5f7fa !important;
  border-radius: 4px !important;
  border: 1px solid #e5e9f2 !important;
  color: #333 !important;
  font-size: 14px !important;
}
.play-new-episode-btn.active {
  background: #007aff !important;
  color: #fff !important;
  border-color: #007aff !important;
}

/* ========== 移动端适配（常规尺寸：320px-767px，保留横向滚动） ========== */
@media (max-width:767px) and (min-width:321px) {
  .play-page-main {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 12px !important;
  }
  .play-page-player, .play-page-sidebar {
    flex: 1 1 100% !important;
    height: auto !important;
    border-radius: 12px !important;
  }
  .play-page-sidebar {
    gap: 12px !important;
  }
  .play-source-container {
    overflow-y: auto !important;
    flex: none !important;
    max-height: 300px !important;
  }
  .img-container {
    padding-bottom: 50% !important;
  }
  .player-wrap {
    min-height: 220px !important;
    border-radius: 8px !important;
  }
  .player-bottom {
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .player-bottom-buttons {
    width:100% !important;
  }
  .play-source-scroll-box {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }
  .play-new-source-item {
    margin-right: 8px !important;
  }
  .play-new-source-btn {
    padding: 5px 16px !important;
    font-size: 12px !important;
  }
  .play-new-episode-list {
    grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)) !important;
  }
  .play-new-episode-btn {
    padding: 6px 0 !important;
    font-size: 13px !important;
  }
}

/* ========== 极小尺寸适配（≤320px，播放源自动换行，取消滚动） ========== */
@media (max-width:320px) {
  .play-page-main {
    flex-direction: column !important;
    gap: 10px !important;
    padding: 10px !important;
  }
  .play-page-player, .play-page-sidebar {
    flex: 1 1 100% !important;
    height: auto !important;
    border-radius: 10px !important;
  }
  .play-page-sidebar {
    gap: 10px !important;
  }
  .play-source-container {
    overflow-y: auto !important;
    flex: none !important;
    max-height: 280px !important;
  }
  .img-container {
    padding-bottom: 45% !important;
  }
  .player-wrap {
    min-height: 200px !important;
    border-radius: 6px !important;
  }
  .player-bottom {
    flex-direction:column !important;
    align-items:flex-start !important;
    padding: 10px !important;
  }
  .play-source-scroll-box {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    overflow: visible !important;
  }
  .play-new-source-scroll {
    overflow-x: visible !important;
    overflow-y: visible !important;
  }
  .play-new-source-list {
    flex-wrap: wrap !important;
    width: 100% !important;
    gap: 8px !important;
  }
  .play-new-source-item {
    margin-right: 0 !important;
    flex-shrink: 1 !important;
    width: auto !important;
  }
  .play-new-source-btn {
    padding: 5px 12px !important;
    font-size: 12px !important;
    width: auto !important;
    flex: 1 1 auto !important;
  }
  .play-new-episode-list {
    grid-template-columns: repeat(auto-fill, minmax(65px, 1fr)) !important;
  }
  .play-new-episode-btn {
    padding: 6px 0 !important;
    font-size: 12px !important;
  }
}

/* 平板适配 */
@media (min-width:768px) and (max-width:991px) {
  .player-wrap {
    min-height: 300px !important;
  }
  .img-container {
    padding-bottom: 55% !important;
  }
  .play-source-container {
    max-height: calc(100vh - 220px) !important;
  }
}

/* ========== 搜索页样式（贴合现有JS，不修改JS） ========== */
/* 1. 搜索头部（完全不变） */
.search_header {
  background-color: #2563eb;
  padding: 10px 15px;
  box-shadow: 0 2px 12px rgba(37, 99, 235, 0.2);
  position: sticky;
  top: 0;
  z-index: 999;
}
.search_header_inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 15px;
}
.search_logo {
  width: 100px;
  height: 40px;
  flex-shrink: 0;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
}
.search_header_form {
  flex: 1;
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.15);
  border-radius: 6px;
  padding: 0 10px;
}
.sear_text {
  flex: 1;
  height: 38px;
  border: none;
  outline: none;
  background: transparent;
  color: #fff !important;
  font-size: 16px !important;
  padding: 0 8px;
  -webkit-user-select: text !important;
  user-select: text !important;
}
.sear_text::placeholder {
  color: rgba(255,255,255,0.7);
}
.sear_btn {
  width: 38px;
  height: 38px;
  border: none;
  outline: none;
  cursor: pointer;
  flex-shrink: 0;
  background-color: transparent;
  color: #fff;
  font-size: 14px;
  line-height: 38px;
  text-align: center;
}

/* 2. 搜索结果区域（完全不变） */
.sear_box {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 15px;
}
.sear_jg {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #eee;
}
.sear_jg h1 {
  font-size: clamp(18px, 3vw, 24px);
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 8px;
}
.sear_jg h2 {
  font-size: clamp(14px, 2vw, 16px);
  color: #666;
  font-weight: 500;
}

/* 3. 搜索结果列表（核心：贴合JS的.pic背景图逻辑） */
.sear_con {
  width: 100%;
}
.reusltbox {
  background: #fff;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.result_list {
  display: flex !important;
  gap: 15px !important;
  align-items: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 关键：.pic作为背景图容器，适配JS赋值逻辑 */
#search-page .pic { 
  flex-shrink: 0 !important;
  width: clamp(80px, 18vw, 120px) !important;
  height: calc(clamp(80px, 18vw, 120px) * 1.4) !important;
  max-width: 120px !important;
  max-height: 168px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  position: relative !important;
  -webkit-user-select: none !important;
  user-select: none !important;
  box-sizing: border-box !important;
  z-index: 1 !important;
  background-color: #f0f4f8 !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important; /* 按比例覆盖；要完整显示改contain */
  transition: background-image 0.3s ease !important;
}
/* 隐藏内部img，避免JS重复处理 */
#search-page .pic img { 
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
/* 适配JS的lazyload/lazyloaded类 */
#search-page .pic.lazyload {
  background-image: none !important;
}
#search-page .pic.lazyloaded {
  opacity: 1 !important;
}

/* 右侧内容区域（完全不变） */
.result_pf {
  margin-bottom: 8px;
  font-size: 14px;
}
.reuslt_score {
  font-weight: 700;
  color: #f59e0b;
  margin-left: 4px;
}
.result_title {
  font-size: clamp(15px, 2.5vw, 18px);
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.result_detail {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 6px 8px;
  margin-bottom: 10px;
}
.result_detail li {
  font-size: 12px;
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.reusltbox_info {
  font-size: 12px;
  color: #666;
  line-height: 1.5;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.result_desc .ak {
  display: inline-block;
  padding: 4px 10px;
  background: #3b82f6;
  color: #fff !important;
  border-radius: 4px;
  font-size: 12px;
}
.result_desc .ak:hover {
  background: #2563eb;
}

/* 4. 空结果样式（完全不变） */
.nullresult {
  text-align: center;
  padding: 80px 0;
  color: #999;
  font-size: 16px;
}

/* 5. 分页样式（完全不变） */
.paging {
  margin: 30px 0;
  text-align: center;
}
.paging a, .paging span {
  display: inline-block;
  padding: 8px 15px;
  margin: 0 3px;
  background: #fff;
  border-radius: 4px;
  font-size: 14px;
}
.paging a:hover, .paging span.current {
  background: #2563eb;
  color: #fff;
}

/* 6. 推荐内容区域（完全不变） */
.recommended {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #eee;
}

/* 7. 搜索页翻页样式（完全不变） */
.pages {
  margin: 30px auto 0;
  padding: 15px 0;
  text-align: center;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.pages a, .pages em, .pages .pagenow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 6px;
  min-width: 40px;
  height: 36px;
  line-height: 1;
  transition: all 0.2s ease;
  box-sizing: border-box;
}
.pages a {
  background-color: #fff;
  color: #333;
  border: 1px solid #e5e7eb;
  text-decoration: none;
}
.pages a:hover {
  background-color: #2563eb;
  color: #fff !important;
  border-color: #2563eb;
}
.pages em {
  background-color: #f9fafb;
  color: #9ca3af;
  border: 1px solid #e5e7eb;
  cursor: not-allowed;
}
.pages .pagenow {
  background-color: #2563eb;
  color: #fff !important;
  border: 1px solid #2563eb;
  font-weight: 600;
}

/* 8. 响应式适配（仅同步.pic宽高） */
@media (max-width: 767px) {
  .search_header_inner {
    gap: 10px;
  }
  .search_logo {
    width: 80px;
    height: 35px;
  }
  .sear_text {
    height: 34px;
    font-size: 15px !important;
    width: 100%;
  }
  .sear_btn {
    width: 34px;
    height: 34px;
    font-size: 13px;
    line-height: 34px;
  }
  .result_list {
    gap: 10px !important;
  }
  #search-page .pic {
    width: clamp(70px, 15vw, 100px) !important;
    height: calc(clamp(70px, 15vw, 100px) * 1.4) !important;
    max-width: 100px !important;
    max-height: 140px !important;
  }
  .result_detail {
    grid-template-columns: repeat(2, 1fr);
  }
  .hidden-mobile {
    display: none !important;
  }
  .paging a, .paging span {
    padding: 6px 12px;
    font-size: 13px;
  }
  .pages {
    gap: 6px;
    padding: 10px 0;
  }
  .pages a, .pages em, .pages .pagenow {
    padding: 6px 10px;
    min-width: 36px;
    height: 32px;
    font-size: 13px;
  }
}

@media (min-width: 768px) {
  .reusltbox:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transform: translateY(-2px);
    transition: all 0.3s;
  }
  .result_detail {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  }
  .pages a:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15);
  }
}

/* ======================================
   分类页统一样式 - 仅一套，无重复属性
   核心：PC8列/移动端4列，图片规整，交互友好
====================================== */
.genre-module-wrapper {
  width: 100% !important;
  background-color: #ffffff !important;
  padding: 24px !important;
  margin: 20px 0 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.genre-header {
  width: 100% !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #eef2f6 !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
.genre-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
.genre-content {
  width: 100% !important;
  box-sizing: border-box !important;
}
.genre-items {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.genre-items::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
  height: 0 !important;
  overflow: hidden !important;
}
.genre-items .vod-item {
  width: calc(12.5% - 10px) !important;
  margin: 0 5px 16px 5px !important;
  padding: 0 !important;
  float: left !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.genre-items .img_container_recommend {
  width: 100% !important;
  aspect-ratio: 1 / 1.4 !important;
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #eef2f7 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.3s ease !important;
  margin: 0 auto 8px auto !important;
  box-sizing: border-box !important;
  height: auto !important;
}
.genre-items .img_container_recommend:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}
.genre-items .img_wrapper_recommend {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-color: #eef2f7 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}
.genre-items .vod-name {
  width: 100% !important;
  font-size: 14px !important;
  color: #374151 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color 0.3s ease !important;
  line-height: 20px !important;
  box-sizing: border-box !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.genre-items .vod-remark {
  width: 100% !important;
  font-size: 12px !important;
  color: #9ca3af !important;
  text-align: center !important;
  line-height: 16px !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  display: block !important;
  /* 新增：强制单行显示，解决换行问题 */
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  height: 16px !important;
}
/* 移动端适配 - 4列布局 */
@media (max-width: 768px) {
  .genre-module-wrapper {
    padding: 16px !important;
  }
  .genre-title {
    font-size: 16px !important;
  }
  .genre-items .vod-item {
    width: calc(25% - 10px) !important;
    margin: 0 5px 12px 5px !important;
  }
  .genre-items .img_container_recommend {
    margin: 0 auto 6px auto !important;
  }
  .genre-items .vod-name {
    font-size: 12px !important;
    line-height: 18px !important;
    height: 18px !important;
  }
  .genre-items .vod-remark {
    font-size: 10px !important;
    line-height: 14px !important;
    height: 14px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* 仅在移动端（屏幕＜768px）覆盖nowrap，实现自动换行+均分宽度 */
@media (max-width: 767px) {
  .play-page-con_c2_title.swiper-wrapper {
    flex-wrap: wrap !important; /* 强制移动端换行 */
    gap: 8px !important;        /* 统一行列间距，更美观 */
    width: 100% !important;     /* 容器宽度适配屏幕 */
    padding: 0 4px !important;  /* 左右留白 */
    justify-content: flex-start !important; /* 靠左排列，避免整体居中留白 */
  }

  /* 核心优化：移动端按钮自动均分每行宽度，无空白 */
  .play-page-tab-switch.swiper-slide {
    flex: 1 1 calc(33.333% - 8px) !important; /* 每行固定3个，自动均分宽度 */
    min-width: 70px !important; /* 最小宽度，避免按钮过窄 */
    max-width: 120px !important; /* 最大宽度，避免按钮过宽 */
    margin: 0 !important;
    margin-bottom: 8px !important; /* 换行后上下间距 */
    box-sizing: border-box !important; /* 保证padding/border不影响宽度计算 */
  }

  /* 单独处理最后一行不足3个的情况：自动靠左，不强制均分 */
  .play-page-con_c2_title.swiper-wrapper::after {
    content: "";
    flex: 1 1 calc(33.333% - 8px) !important;
    max-width: 120px !important;
    min-width: 70px !important;
    visibility: hidden;
    height: 0;
  }

  /* 隐藏移动端播放源之间的|分隔符 */
  .play-page-con_c2_title.swiper-wrapper > span {
    display: none !important;
  }

  /* 播放源按钮内部a标签：适配均分宽度 */
  .play-page-con_c2_title.swiper-wrapper .tab-source-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 8px 0 !important; /* 保证按钮内边距均匀 */
  }
}

/* PC端完全保留你原有样式 */
@media (min-width: 768px) {
  .play-page-con_c2_title.swiper-wrapper {
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: max-content !important;
  }
  .play-page-tab-switch.swiper-slide {
    flex-shrink: 0 !important;
    min-width: auto !important;
  }
}