/* ========================================================
   豆瓣阅读风格 立体图书封面系统 (Douban Read Book Cover)
   支持纯 CSS 文库本 / 真实封面图像 + 折角标 + 底部徽章
   ======================================================== */

:root {
  --cover-w: 144px;
  --cover-h: 210px;
  --cover-radius: 6px;
}

@media (max-width: 480px) {
  :root {
    --cover-w: 130px;
    --cover-h: 190px;
  }
}

@media (max-width: 360px) {
  :root {
    --cover-w: 114px;
    --cover-h: 166px;
  }
}

.book-cover {
  position: relative;
  width: var(--cover-w);
  height: var(--cover-h);
  border-radius: var(--cover-radius);
  overflow: hidden;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.12),
    0 1px 3px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.25s ease;
  user-select: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  flex-shrink: 0;
  cursor: pointer;
  background-size: cover;
  background-position: center;
}

.book-cover:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 
    0 12px 26px rgba(0, 0, 0, 0.2),
    0 3px 6px rgba(0, 0, 0, 0.12);
}

/* 书脊阴影与装订压痕线 (模拟真实物理书脊立体感) */
.book-cover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 14px;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.18) 0%,
    rgba(0, 0, 0, 0.12) 40%,
    rgba(255, 255, 255, 0.08) 60%,
    rgba(0, 0, 0, 0.2) 90%,
    transparent 100%
  );
  z-index: 8;
  pointer-events: none;
}

/* 右侧页面翻页微光 */
.book-cover::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.12), transparent);
  z-index: 8;
  pointer-events: none;
}

/* 带有真实图片的封面 */
.book-cover.has-image-cover {
  background: #242528;
}

.book-cover.has-image-cover img.cover-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 2;
}

/* 矢量预制封面底图容器 (56 款艺术矢量底图) */
.book-cover .cover-svg-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.book-cover .cover-svg-art svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* 深色模式预制自适应 (tone-dark) */
.book-cover.tone-dark {
  color: #ffffff;
}
.book-cover.tone-dark .cover-title {
  color: var(--cover-text-color, #ffffff) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.35);
}
.book-cover.tone-dark .cover-author {
  color: var(--cover-author-color, rgba(255, 255, 255, 0.85)) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.book-cover.tone-dark .cover-seal {
  border-color: rgba(255, 255, 255, 0.45);
  color: rgba(255, 255, 255, 0.95);
  background: rgba(0, 0, 0, 0.25);
}
.book-cover.tone-dark .cover-frame {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(1px);
}
.book-cover.tone-dark .cover-badge {
  color: var(--cover-accent-color, rgba(255, 255, 255, 0.7));
}
.book-cover.tone-dark .cover-douban-logo {
  color: rgba(255, 255, 255, 0.55);
}

/* 浅色模式预制自适应 (tone-light) */
.book-cover.tone-light {
  color: #1a1a1a;
  box-shadow: 
    0 4px 14px rgba(0, 0, 0, 0.08),
    0 1px 3px rgba(0, 0, 0, 0.06);
}
.book-cover.tone-light .cover-title {
  color: var(--cover-text-color, #1a1a1a) !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}
.book-cover.tone-light .cover-author {
  color: var(--cover-author-color, #4a4540) !important;
}
.book-cover.tone-light .cover-seal {
  border-color: rgba(0, 0, 0, 0.35);
  color: rgba(0, 0, 0, 0.85);
  background: rgba(255, 255, 255, 0.45);
}
.book-cover.tone-light .cover-frame {
  border-color: rgba(0, 0, 0, 0.18);
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(1px);
}
.book-cover.tone-light .cover-badge {
  color: var(--cover-accent-color, #665544);
}
.book-cover.tone-light .cover-douban-logo {
  color: rgba(0, 0, 0, 0.45);
}

/* 右上角折角标 (截图二同款红色特价/独家斜标) */
.cover-ribbon {
  position: absolute;
  top: 10px;
  right: -24px;
  width: 82px;
  background: linear-gradient(135deg, #e53935 0%, #c62828 100%);
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  transform: rotate(45deg);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  z-index: 12;
  pointer-events: none;
  letter-spacing: 0.05em;
}

/* 封面底部悬浮微徽章 (截图二同款 攀登赛人V / 完结 药丸牌) */
.cover-badge-pill {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(4px);
  color: #2b3a4a;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  z-index: 12;
  white-space: nowrap;
  letter-spacing: 0.04em;
  border: 1px solid rgba(255, 255, 255, 0.7);
}

/* 移除封面顶部标志与文印章 */
.cover-douban-logo {
  display: none !important;
}

.cover-seal {
  display: none !important;
}

/* 尺寸规格：横向卡片用尺寸 (108px x 156px) */
.book-cover.compact {
  --cover-w: 108px;
  --cover-h: 156px;
}

/* 尺寸规格：详情页大号封面 (200px x 290px) */
.book-cover.large {
  --cover-w: 200px;
  --cover-h: 290px;
  box-shadow: 
    0 8px 24px rgba(0, 0, 0, 0.18),
    0 2px 6px rgba(0, 0, 0, 0.12);
}

/* 纯 CSS 封面内衬内容区通用基础 */
.book-cover-inner {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

/* ========================================================
   三种精美封面排版版式 (Three Typography Layouts)
   1. layout-vertical-right: 右上角竖排 (古典日系文库风)
   2. layout-horizontal-top: 偏上方横排 (现代纯文学期刊风)
   3. layout-horizontal-center: 中间横排 (经典精装企鹅风)
   ======================================================== */

/* --------------------------------------------------------
   版式 1: 右上角竖排 (layout-vertical-right)
   书名在右上角纵向排列，作者置于左下角纵向沉静
   -------------------------------------------------------- */
.book-cover.layout-vertical-right .book-cover-inner,
.book-cover.style-vertical .book-cover-inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
  padding: 22px 14px 16px 20px;
}

.book-cover.layout-vertical-right .cover-title-wrap,
.book-cover.style-vertical .cover-title-wrap {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.16em;
  max-height: 82%;
  overflow: hidden;
}

.book-cover.layout-vertical-right .cover-title,
.book-cover.style-vertical .cover-title {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

.book-cover.large.layout-vertical-right .cover-title,
.book-cover.large.style-vertical .cover-title {
  font-size: 22px;
}

.book-cover.layout-vertical-right .cover-meta,
.book-cover.style-vertical .cover-meta {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-self: flex-end;
}

.book-cover.layout-vertical-right .cover-author,
.book-cover.style-vertical .cover-author {
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 11px;
  writing-mode: vertical-rl;
  letter-spacing: 0.2em;
  opacity: 0.85;
}

/* --------------------------------------------------------
   版式 2: 偏上方横排 (layout-horizontal-top)
   书名位于封面偏上方 (约 22% 位置)，作者置于其下方，留白充足
   -------------------------------------------------------- */
.book-cover.layout-horizontal-top .book-cover-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 30px 14px 16px 18px;
  text-align: center;
}

.book-cover.layout-horizontal-top .cover-title-wrap {
  writing-mode: horizontal-tb;
  width: 100%;
  text-align: center;
  margin-bottom: 8px;
}

.book-cover.layout-horizontal-top .cover-title {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.12em;
  margin: 0;
}

.book-cover.large.layout-horizontal-top .cover-title {
  font-size: 21px;
}

.book-cover.layout-horizontal-top .cover-meta {
  width: 100%;
  text-align: center;
}

.book-cover.layout-horizontal-top .cover-author {
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 11px;
  letter-spacing: 0.16em;
  opacity: 0.82;
}

/* --------------------------------------------------------
   版式 3: 中间横排 (layout-horizontal-center)
   书名在正中间横排居中，作者在书名下方带极细分隔线，经典端庄
   -------------------------------------------------------- */
.book-cover.layout-horizontal-center .book-cover-inner,
.book-cover.style-horizontal .book-cover-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px 14px 20px 18px;
  text-align: center;
}

.book-cover.layout-horizontal-center .cover-title-wrap,
.book-cover.style-horizontal .cover-title-wrap {
  writing-mode: horizontal-tb;
  width: 100%;
  text-align: center;
  margin-bottom: 8px;
}

.book-cover.layout-horizontal-center .cover-title,
.book-cover.style-horizontal .cover-title {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.15em;
  margin: 0;
}

.book-cover.large.layout-horizontal-center .cover-title,
.book-cover.large.style-horizontal .cover-title {
  font-size: 22px;
}

.book-cover.layout-horizontal-center .cover-meta,
.book-cover.style-horizontal .cover-meta {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.book-cover.layout-horizontal-center .cover-author,
.book-cover.style-horizontal .cover-author {
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  opacity: 0.85;
  display: inline-block;
  padding-top: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  max-width: 75%;
}

.book-cover.tone-light.layout-horizontal-center .cover-author,
.book-cover.tone-light.style-horizontal .cover-author {
  border-top-color: rgba(0, 0, 0, 0.2);
}

/* 规格适配：大图与紧凑图 */
.book-cover.large.layout-horizontal-top .book-cover-inner {
  padding-top: 48px;
}
.book-cover.large.layout-vertical-right .book-cover-inner {
  padding: 32px 22px 24px 28px;
}
.book-cover.large.layout-horizontal-center .book-cover-inner {
  padding: 24px 20px 24px 28px;
}

.book-cover.compact .cover-title {
  font-size: 13px !important;
}
.book-cover.compact .cover-author {
  font-size: 10px !important;
}
.book-cover.compact.layout-horizontal-top .book-cover-inner {
  padding-top: 22px;
}

/* 经典文库本文艺配色轮盘 (8大主题色系) */
.theme-indigo {
  background: linear-gradient(135deg, #182430 0%, #2b3a4a 100%);
  color: #f0f4f8;
}
.theme-indigo .cover-title { color: #ffffff; }

.theme-crimson {
  background: linear-gradient(135deg, #281416 0%, #4a2226 100%);
  color: #f7ebeb;
}
.theme-crimson .cover-title { color: #ffffff; }

.theme-bamboo {
  background: linear-gradient(135deg, #152419 0%, #29402e 100%);
  color: #ecf3ed;
}
.theme-bamboo .cover-title { color: #ffffff; }

.theme-charcoal {
  background: linear-gradient(135deg, #161719 0%, #2a2c30 100%);
  color: #f0f1f3;
}
.theme-charcoal .cover-title { color: #ffffff; }

.theme-amber {
  background: linear-gradient(135deg, #2c2115 0%, #443422 100%);
  color: #f7f1e7;
}
.theme-amber .cover-title { color: #ffffff; }

.theme-violet {
  background: linear-gradient(135deg, #201526 0%, #3a2544 100%);
  color: #f4ecf8;
}
.theme-violet .cover-title { color: #ffffff; }

.theme-paper {
  background: linear-gradient(135deg, #eae1d2 0%, #f7f0e3 100%);
  color: #2b241c;
  box-shadow: 
    0 4px 14px rgba(0, 0, 0, 0.08),
    0 1px 3px rgba(0, 0, 0, 0.08);
}
.theme-paper .cover-title { color: #1e1913; }
.theme-paper .cover-seal { border-color: rgba(43, 36, 28, 0.5); color: #2b241c; }
.theme-paper .cover-frame { border-color: rgba(43, 36, 28, 0.2); }

.theme-teal {
  background: linear-gradient(135deg, #102424 0%, #1c3c3c 100%);
  color: #e5f2f2;
}
.theme-teal .cover-title { color: #ffffff; }
