/* 六格插画仅作节目形式示意，按格定位，不冒充任何来源演出截图。 */
.catalog-cover:not(.program-cover--script):not(.program-cover--image):not(
    .program-cover--video
  )::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/programs/program-types-v1.png');
  background-size: 300% 400%;
  background-position: var(--cover-x, 0%) var(--cover-y, 16.667%);
}
.program-cover--singing {
  --cover-x: 50%;
}
.program-cover--medley {
  --cover-x: 100%;
}
.program-cover--creative {
  --cover-y: 83.333%;
}
.program-cover--spoken {
  --cover-x: 50%;
  --cover-y: 83.333%;
}
.program-cover--screen,
.program-cover--instrument {
  --cover-x: 100%;
  --cover-y: 83.333%;
}
.catalog-cover-symbol {
  z-index: 1;
  padding: 9px;
  border-radius: 50%;
  background: #191b2960;
  display: grid;
  border: 1px solid #ffffffa6;
}
.catalog-cover-symbol .ui-icon {
  width: 24px;
  height: 24px;
}
.program-cover--script {
  background: linear-gradient(140deg, #fbf2e1, #f5e6cb);
}
.program-cover--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.program-cover--script::after {
  position: absolute;
  content: '剧本';
  right: 14px;
  bottom: 6px;
  color: #78522212;
  font-size: 64px;
  font-weight: 700;
  transform: rotate(-9deg);
}
.program-cover--script .catalog-cover-badge {
  background: #76532d;
}
.catalog-cover blockquote {
  z-index: 1;
  font-family: 'Songti SC', serif;
  font-size: 14px;
  line-height: 1.9;
  margin: 32px 25px 10px;
  color: #4d3f2d;
  white-space: pre-line;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 补充资料与条件未明参考保留独立语义，不混进节目匹配数量。 */
.programs-home.is-enhanced .catalog-pagination:empty,
.programs-home.is-enhanced .program-filter-actions[hidden] {
  display: none !important;
}
.program-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-block: 16px;
}
.program-filter-actions button {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: var(--brand-tint);
  color: var(--accent);
  cursor: pointer;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: left;
}
.program-filter-actions [data-clear-all] {
  background: transparent;
  border-color: transparent;
  color: var(--muted);
}
.program-filter-actions button:hover {
  background: var(--brand-tint-strong);
}
.program-result-categories {
  margin-block: 16px;
}
.program-result-categories > span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 6px;
}
.program-result-categories .catalog-categories {
  margin: 0;
}
/* 当前仅按分类与关键词浏览，隐藏统计所在的空筛选行，翻页保留在列表底部。 */
.programs-home.is-enhanced .catalog-filters {
  display: none !important;
}
.programs-home [data-catalog-heading]:focus-visible {
  outline: none;
  text-decoration: underline;
  text-decoration-color: var(--brand-focus);
  text-underline-offset: 8px;
}
.program-unconfirmed,
.program-learning {
  margin-block: 24px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.program-unconfirmed summary {
  cursor: pointer;
  min-height: 44px;
  align-content: center;
  font-weight: 600;
}
.program-unconfirmed ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 8px 24px;
  padding-left: 20px;
}
.program-unconfirmed a,
.program-learning a {
  display: inline-block;
  padding-block: 8px;
}
.program-learning h3,
.program-learning h4 {
  margin: 0;
}
.program-learning p,
.program-unconfirmed p {
  color: var(--muted);
  line-height: 1.7;
}
.program-learning article {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.program-filter-actions[hidden],
.program-unconfirmed[hidden],
.program-learning[hidden],
.program-learning article[hidden] {
  display: none;
}
