/* Single book pages */

.book-page{
  padding:86px 0 110px;
}

.book-detail{
  display:grid;
  grid-template-columns:clamp(280px,38vw,520px) 1fr;
  gap:26px;
  align-items:start;
}

.book-detail.is-cover-right{
  grid-template-columns:1fr clamp(220px,28vw,380px);
}
.book-detail.is-cover-right .book-info{grid-column:1}
.book-detail.is-cover-right .book-cover-lg{grid-column:2}

.book-detail.is-cover-right.is-cover-half{
  grid-template-columns:1fr clamp(140px,14vw,190px);
  align-items:end; /* bottom-align text + cover */
}
.book-detail.is-cover-right.is-cover-half .book-info{align-self:end}
.book-detail.is-cover-right.is-cover-half .book-cover-lg{
  max-width:190px;
  justify-self:end;
}

.book-cover-lg{
  width:100%;
  aspect-ratio:3/4;
  border-radius:14px;
  overflow:hidden;
  /*background:#fff;*/
  /*box-shadow:0 18px 50px rgba(0,0,0,.12);*/
}
.book-cover-lg img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.book-cover-lg.is-contain img{object-fit:contain}

.book-meta{font-size:.9rem;color:rgba(63,58,53,.66);letter-spacing:.04em;overflow-wrap:anywhere;word-break:break-word}
.book-title{margin-top:10px;font-size:2.2rem;line-height:1.1;color:var(--ink);overflow-wrap:anywhere;word-break:break-word}
.book-synopsis{margin-top:14px;font-size:1rem;line-height:1.85;color:rgba(63,58,53,.82);overflow-wrap:anywhere;word-break:break-word}
.book-subhead{margin-top:18px;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(63,58,53,.62)}

.book-video{
  margin-top:12px;
  border-radius:18px;
  overflow:hidden;
  background:rgba(155,123,92,.06);
  box-shadow:0 18px 50px rgba(0,0,0,.08);
}
.book-video video{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:16/9;
  background:#0c0f14;
}

.reviews-slider{position:relative;margin-top:12px;overflow:hidden}
.book-reviews{
  list-style:none;margin:0;padding:0;
  display:flex;gap:12px;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.book-reviews::-webkit-scrollbar{display:none}
.book-reviews li{
  position:relative;
  padding:14px 16px 14px 44px;
  border-radius:14px;
  background:rgba(155,123,92,.08);
  color:rgba(31,28,25,.80);
  line-height:1.85;
  letter-spacing:.01em;
  font-style:italic;
  flex:0 0 min(640px,92%);
  overflow-wrap:anywhere;
  word-break:break-word;
}
.book-reviews li::before{
  content:"“";
  position:absolute;
  left:14px;
  top:8px;
  font-size:2rem;
  line-height:1;
  color:rgba(155,123,92,.55);
}

.book-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn-sm{padding:10px 18px !important;font-size:.72rem !important;letter-spacing:.12em !important}
.book-actions .btn:hover{transform:none !important;box-shadow:none !important}
.book-order{
  display:inline-flex;
  align-items:center;
  font-size:1.05rem;
  color:rgba(31,28,25,.78);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
  padding:10px 0;
}
.book-order:hover{color:var(--ink)}

.book-long{margin-top:34px}
.book-long-inner{max-width:980px}

@media(max-width:900px){
  .book-detail{grid-template-columns:1fr;gap:16px}
  .book-detail.is-cover-right{grid-template-columns:1fr}
  .book-detail.is-cover-right.is-cover-half{grid-template-columns:1fr}
  .book-detail.is-cover-right .book-info{grid-column:auto}
  .book-detail.is-cover-right .book-cover-lg{grid-column:auto}
  .book-cover-lg{max-width:380px;margin:0 auto}
  .book-title{font-size:1.9rem}
}
