/* 教材点读馆 · 单元封面卡片 */
.tb-hub {
  max-width: min(1760px, 100%);
  width: 100%;
  margin: 0 auto;
  padding: 16px 14px 48px;
}
.tb-hub h1 { margin-bottom: 12px; }
.tb-lead,
.tb-book .meta,
.tb-book-desc,
.tb-unit-lead { display: none !important; }
.tb-book {
  padding: 14px;
}
.tb-book h2 { margin: 0 0 12px; }
.tb-units {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  align-items: start;
}
.tb-unit {
  margin: 0;
  min-width: 0;
}
.tb-unit.is-open {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: linear-gradient(180deg, #fff7ed, #fff);
  border-radius: 20px;
  padding: 10px;
  border: 3px solid #fdba74;
}
.tb-unit.is-open .tb-unit-cover {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  text-align: left;
}
.tb-unit.is-open .tb-unit-cover img {
  max-height: 96px;
  aspect-ratio: 3 / 4;
}
.tb-unit.is-open .tb-unit-meta {
  padding: 8px 10px;
}
.tb-unit-cta { display: none !important; }
.tb-unit-cover {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0;
  border: 0;
  background: linear-gradient(180deg, #fff, #fff7ed);
  border-radius: 22px;
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow: 0 8px 0 #fdba74;
}
.tb-unit.is-open .tb-unit-cover {
  box-shadow: 0 4px 0 #0f766e;
  border-color: #ccfbf1;
}
.tb-unit-cover img {
  width: 100%;
  aspect-ratio: 3 / 4;
  max-height: 280px;
  object-fit: contain;
  object-position: top center;
  display: block;
  background: #e8eef2;
}
.tb-unit-cover img.is-missing {
  object-fit: none;
  background: linear-gradient(180deg, #fde68a, #fdba74);
}
.tb-unit-meta { padding: 12px 14px 16px; }
.tb-unit-badge {
  display: inline-block;
  background: #0f766e;
  color: #fff;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 800;
}
.tb-unit-cover h3 {
  margin: 8px 0 4px;
  font-family: var(--en);
  font-size: 1.08rem;
  color: var(--ink);
}
.tb-unit.is-open .tb-unit-cover h3 { margin: 4px 0 2px; }
.tb-unit-cover p { margin: 0; color: #9a3412; font-size: 13px; font-weight: 600; }
.tb-unit-panel { min-width: 0; width: 100%; }
.tb-pages {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 12px;
  width: 100%;
}
.tb-page-card {
  min-width: 0;
}
.tb-page-card img {
  max-width: 100%;
  max-height: none;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
}
.tb-review-card { outline: 3px solid #f59e0b; }
.tb-review-card .tag { background: #f59e0b; color: #fff; }
.tb-review-card h3 { color: #9f1239; }

@media (max-width: 720px) {
  .tb-hub { padding: 12px 8px 40px; }
  .tb-unit.is-open .tb-unit-cover {
    grid-template-columns: 64px minmax(0, 1fr);
  }
  .tb-unit-cover img { max-height: 220px; }
  .tb-pages { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
}

@media (min-width: 1280px) {
  .tb-pages { grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)); }
}
