.book-detail-page { --book-accent: var(--red); }
.book-goal-page { --book-accent: #dfb578; }
.book-accent { color: var(--book-accent); }
.book-detail { padding-block: 64px 120px; }
.book-back { display: inline-flex; gap: 12px; align-items: center; margin-bottom: 56px; padding-block: 8px; color: var(--muted); font-size: 16px; }
.book-back:hover { color: var(--text); }
.book-detail-heading .eyebrow { color: var(--muted); }
.book-detail-heading .red-rule { margin-left: 0; margin-bottom: 56px; background: var(--book-accent); }
.book-detail-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.book-detail-cover { position: sticky; top: 24px; }
.book-cover-full { display: block; height: clamp(280px, 62vh, 610px); }
.book-detail-cover img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 16px 24px #0008); }
.book-cover-switch { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.book-cover-switch a { padding: 10px 16px; border: 1px solid #444440; border-radius: 3px; font-size: 16px; }
.book-cover-switch a[aria-current="true"] { border-color: var(--book-accent); color: var(--book-accent); }
.book-cover-switch a:hover { border-color: var(--text); }
.book-cover-note { margin-top: 16px; color: var(--muted); text-align: center; font-size: 13px; line-height: 1.6; }
.book-detail-description { min-width: 0; max-width: 65ch; color: var(--muted); font-size: clamp(18px, 1.7vw, 20px); line-height: 1.75; }
.book-detail-description > p + p { margin-top: 24px; }
.book-detail-description strong { color: var(--text); }
.book-detail-description a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--book-accent); }
.book-detail-description a:hover { color: var(--book-accent); }
.book-opening { padding-bottom: 36px; margin-bottom: 36px; border-bottom: 1px solid #444440; color: var(--text); font-size: clamp(22px, 2.3vw, 29px); line-height: 1.4; }
.book-opening p + p { margin-top: 20px; }
.book-opening .book-opening-last { color: var(--muted); font-size: 20px; line-height: 1.6; margin-top: 28px; }
.book-final-question { font-size: clamp(24px, 2.7vw, 32px); line-height: 1.4; }
.book-detail-description .book-closing { margin-top: 48px; padding-top: 32px; border-top: 1px solid #444440; font-size: clamp(25px, 2.9vw, 35px); line-height: 1.4; letter-spacing: -.3px; }
.book-closing strong { font-weight: 400; }
.book-related { margin-top: 96px; padding-top: 36px; border-top: 1px solid #444440; }
.book-related .eyebrow { color: var(--muted); }
.book-related > a { display: inline-flex; align-items: center; gap: 24px; font-size: clamp(25px, 3vw, 36px); line-height: 1.3; }
.book-related > a:hover { color: var(--book-accent); }
@media (max-width: 800px) {
  .book-detail { padding-block: 40px 80px; }
  .book-back { margin-bottom: 36px; }
  .book-detail-heading .red-rule { margin-bottom: 16px; }
  .book-detail-layout { grid-template-columns: 1fr; gap: 28px; }
  .book-detail-cover { position: static; width: min(100%, 440px); margin-inline: auto; }
  .book-detail-description { max-width: none; }
}
