/* ===== 播放页整体：播放器+简介/评论面板顶部并排，下方猜你喜欢/热播 tab 切换，纯黑背景 ===== */
.dg-play-main {
  padding: 16px 0 48px;
}

.dg-pw-container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 16px;
}

/* ===== 顶部：播放器欄 + 简介/评论栏（视觉上合并为一体，中间用分隔线取代间距） ===== */
.dg-pw-top-row {
  display: flex;
  align-items: flex-start;
}

.dg-pw-player-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-white);
  border-radius: var(--radius) 0 0 var(--radius);
  overflow: hidden;
}

.dg-player-wrap {
  border-radius: var(--radius);
  overflow: hidden;
  background: #000;
}

.dg-player-box {
  position: relative;
  width: 100%;
  /* 灰階底色：让第三方播放器半透明控制列有可视分隔，非取代播放画面黑底 */
  background: #232323;
  aspect-ratio: 16/9;
  overflow: hidden;
}

/* 第三方播放器常自带固定宽高内联样式不会跟着撑满，这里强制第一层元素 100% 填满 .dg-player-box */
.dg-player-box > * {
  width: 100% !important;
  height: 100% !important;
}

/* 播放器下方：左侧点赞/收藏计数，右侧报错/分享 */
.dg-pw-below-player {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  flex-wrap: wrap;
  gap: 10px;
}

.dg-pw-vote-list,
.dg-pw-action-list {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 0;
}

.dg-pw-vote-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--text);
  background: none;
  border: none;
  padding: 0;
}

.dg-pw-vote-btn .mac-icon {
  font-size: 16px;
}

.dg-pw-vote-btn.digg_link:hover {
  color: var(--accent);
}

.dg-pw-vote-btn.digg_link.disabled {
  color: var(--accent);
  pointer-events: none;
}

.dg-pw-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--text-muted);
  background: none;
  border: none;
  padding: 0;
}

.dg-pw-action-btn:hover {
  color: var(--accent);
}

.dg-pw-action-btn .mac-icon {
  font-size: 15px;
}

/* ===== 右侧：简介 / 评论 面板 ===== */
.dg-pw-info-col {
  width: 400px;
  flex-shrink: 0;
  min-width: 0;
  background: var(--bg-white);
  border-radius: 0 var(--radius) var(--radius) 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  /* 作为详情浮层 .dg-pw-detail-overlay（position:absolute; inset:0）的定位基准 */
  position: relative;
  /* 以播放器高度为准对齐两栏：vod_play.js 量出高度写成此处 height（桌机版） */
}

.dg-pw-tabs {
  display: flex;
  flex-shrink: 0;
  border-bottom: 1px solid var(--border);
}

.dg-pw-tab {
  flex: 1;
  text-align: center;
  padding: 14px 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-muted);
  background: none;
  border: none;
  position: relative;
}

.dg-pw-tab.dg-active {
  color: var(--accent);
}

.dg-pw-tab.dg-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  width: 30px;
  height: 3px;
  border-radius: 2px;
  background: var(--accent);
}

.dg-pw-tab-panel {
  padding: 16px;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-y: visible;
}

/* 简介/统计/标签属于固定头部，不参与捲动，捲动交给下面 .dg-pw-lines 内的选集格 */
.dg-pw-title,
.dg-pw-stat-line,
.dg-pw-tag-line {
  flex-shrink: 0;
}

/* 选集区：来源 tab/排序固定，只有下方集数网格本身可以上下捲动 */
.dg-pw-lines {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.dg-pw-lines-hd {
  flex-shrink: 0;
}

.dg-pw-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 8px;
}

.dg-pw-title a:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.dg-pw-title a:first-child:hover {
  color: var(--accent);
}

.dg-pw-detail-link {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 13px;
  font-weight: 400;
  color: var(--text-muted);
}

.dg-pw-detail-link:hover {
  color: var(--accent);
}

.dg-pw-detail-link .mac-icon {
  font-size: 13px;
}

.dg-pw-stat-line {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-muted);
  margin: 0 0 12px;
}

.dg-pw-stat {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.dg-pw-stat .mac-icon {
  color: var(--accent-red);
  font-size: 14px;
}

.dg-pw-score {
  font-weight: 700;
  color: var(--text);
}

.dg-pw-sep {
  color: var(--border-mid);
}

.dg-pw-tag-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}

.dg-pw-tag-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  font-size: 13px;
  color: var(--text);
  background: var(--bg-elev);
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
}

.dg-pw-tag-pill:hover {
  color: var(--accent);
  background: var(--accent-light);
}

/* ===== 选集列表：来源 tab（国内线路/海外线路）+ 排序 + 集数网格 ===== */
.dg-pw-lines-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.dg-pw-source-tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.dg-pw-source-tabs::-webkit-scrollbar {
  display: none;
}

.dg-pw-source-tab.dg-source-tab {
  flex-shrink: 0;
  padding: 6px 20px;
  font-size: 14px;
  color: var(--text);
  background: none;
  border: none;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
}

.dg-pw-source-tab.dg-source-tab.dg-active {
  color: var(--accent);
  font-weight: 700;
  background: var(--bg-elev);
  border-bottom: none;
}

.dg-pw-sort-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--text-muted);
  background: none;
  border: none;
}

.dg-pw-sort-btn:hover {
  color: var(--accent);
}

.dg-pw-source-panel.dg-playlist-panel { display: none; }
.dg-pw-source-panel.dg-playlist-panel.dg-active {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.dg-pw-episode-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  align-content: start;
}

.dg-pw-episode-grid::-webkit-scrollbar {
  width: 6px;
}

.dg-pw-episode-grid::-webkit-scrollbar-track {
  background: var(--bg-light);
  border-radius: 999px;
}

.dg-pw-episode-grid::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 999px;
}

.dg-pw-episode.dg-episode {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 35px;
  padding: 0 6px;
  border-radius: 5px;
  background: var(--bg-elev);
  color: var(--text);
  border: none;
  font-size: 12.5px;
  max-width: 100%;
}

/* 集数名过长时缩小字级、单行显示并以省略号截断，避免撑破按钮 */
.dg-pw-episode-name {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.dg-pw-episode.dg-episode:hover {
  color: var(--accent);
}

.dg-pw-episode.dg-episode.dg-active {
  background: var(--accent);
  color: #14120a;
  font-weight: 700;
}

.dg-pw-episode.dg-episode.dg-active .mac-icon {
  font-size: 13px;
}

/* ===== 详情浮层：点击标题旁「详情」按钮时叠加显示在简介/评论栏之上，不跳页 ===== */
.dg-pw-detail-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  background: var(--bg-white);
}

.dg-pw-detail-overlay[hidden] {
  display: none;
}

.dg-pw-detail-overlay-hd {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
}

.dg-pw-detail-overlay-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin: 0;
}

.dg-pw-detail-overlay-close {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--text-muted);
  background: none;
  border: none;
}

.dg-pw-detail-overlay-close:hover {
  color: var(--accent);
}

.dg-pw-detail-overlay-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
  scrollbar-width: thin;
  scrollbar-color: var(--accent) var(--bg-light);
}

.dg-pw-detail-overlay-body::-webkit-scrollbar {
  width: 6px;
}

.dg-pw-detail-overlay-body::-webkit-scrollbar-track {
  background: var(--bg-light);
  border-radius: 999px;
}

.dg-pw-detail-overlay-body::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 999px;
}

/* 顶部：封面 + 片名/标签/分类/导演，横向并排 */
.dg-pw-detail-overlay-hero {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}

.dg-pw-detail-overlay-poster {
  width: 88px;
  height: 118px;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 8px;
  background: var(--bg-elev);
}

.dg-pw-detail-overlay-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.dg-pw-detail-overlay-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin: 0;
}

.dg-pw-detail-overlay-name a {
  color: inherit;
}

.dg-pw-detail-overlay-name a:hover {
  color: var(--accent);
}

.dg-pw-detail-overlay-meta .dg-pw-tag-line {
  margin: 0;
}

.dg-pw-detail-overlay-line {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
}

.dg-pw-detail-overlay-desc {
  font-size: 13px;
  color: var(--text-light);
  line-height: 1.7;
  margin: 0 0 20px;
}

.dg-pw-detail-overlay-subtitle {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 14px;
}

/* 浮层内演职表不需折叠展开，借用 vod_detail.css 的 .dg-cast-list 样式并取消折叠高度限制 */
.dg-pw-cast-list.dg-cast-list {
  max-height: none;
  overflow: visible;
}

/* 评论面板：套用共用 .dg-comment-section，本栏仅约 400px 宽，.dg-cmt-form-bar 提前换行避免溢出裁切 */
/* 外层 tab-panel 不留 padding，避免与 .dg-comment-section 双重内距；卡片背景/圆角/阴影与外层重复，一并去掉 */
#pwtab-comment.dg-pw-tab-panel {
  padding: 0;
}

#pwtab-comment .dg-comment-section {
  margin: 0;
  background: none;
  border-radius: 0;
  box-shadow: none;
  padding: 16px;
}

#pwtab-comment .dg-cmt-form-bar {
  flex-wrap: wrap;
}

#pwtab-comment .dg-cmt-chars {
  order: 2;
}

#pwtab-comment .dg-cmt-actions {
  order: 1;
  width: 100%;
  justify-content: flex-end;
}

/* ===== 猜你喜欢 / 热播（Tab 切换） ===== */
.dg-pw-more-section {
  margin-top: 32px;
}

.dg-pw-more-tabs {
  display: flex;
  align-items: baseline;
  gap: 28px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}

.dg-pw-more-tab {
  position: relative;
  font-size: 20px;
  font-weight: 400;
  color: var(--text-muted);
  background: none;
  border: none;
  padding: 0 0 4px;
}

.dg-pw-more-tab.dg-active {
  color: var(--accent);
  font-weight: 700;
}

.dg-pw-more-tab.dg-active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -13px;
  width: 30px;
  height: 3px;
  border-radius: 2px;
  background: var(--accent);
}

/* ===== RWD ===== */
@media (max-width: 1024px) {
  .dg-pw-top-row {
    flex-direction: column;
    /* 纵向堆叠时改回 stretch，避免 flex-start 导致播放器栏未撑满、右侧留白 */
    align-items: stretch;
    /* 堆叠后左右合并的分隔线视觉不适用，改回间距让两块各自成卡 */
    gap: 20px;
  }
  .dg-pw-player-col {
    border-radius: var(--radius);
  }
  .dg-pw-info-col {
    width: 100%;
    border-radius: var(--radius);
    /* 堆叠版型改自然高度（JS 会清空 style.height），选集格仍需独立捲动避免撑长页面 */
    height: auto;
  }
  .dg-pw-tab-panel {
    overflow-y: visible;
  }
  .dg-pw-episode-grid {
    grid-template-columns: repeat(6, 1fr);
    /* 简介头部维持固定，仅集数网格本身在有限高度内上下捲动 */
    max-height: 25vh;
    overflow-y: auto;
  }
}

@media (max-width: 767px) {
  .dg-play-main { padding: 0 0 68px; }
  .dg-pw-container { padding: 10px 10px 0; }

  .dg-player-wrap { border-radius: 0; }

  .dg-pw-below-player { padding: 8px 0; }
  .dg-pw-vote-list,
  .dg-pw-action-list { gap: 14px; }

  .dg-pw-tab-panel { padding: 14px; }
  .dg-pw-title { font-size: 16px; }

  .dg-pw-episode-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .dg-pw-more-tab { font-size: 17px; }
  .dg-pw-more-tabs { gap: 20px; }
}

@media (max-width: 479px) {
  .dg-pw-episode-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 分享弹窗已移除：点击分享按钮改为直接复制网址（逻辑见 footer.js） */

/* ===== 播放页整改：面包屑、工具栏禁用态、h1 当前集名 ===== */
.dg-pw-player-col .dg-vd-breadcrumb { margin-bottom: 12px; }
.dg-pw-action-btn.is-disabled { opacity: .4; cursor: default; pointer-events: none; }
.dg-pw-ep-name { font-weight: 400; color: var(--text-light); margin-left: 6px; font-size: .85em; }

/* 播放源列可横向滑动：flex 子项需 min-width:0 否则会撑开父层而不是自己卷动 */
.dg-pw-lines-hd { min-width: 0; }
.dg-pw-source-tabs { flex: 1 1 auto; min-width: 0; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
.dg-pw-source-tab.dg-source-tab { white-space: nowrap; scroll-snap-align: start; }
