/* BOOK DETAIL V5 — approved editorial composition aligned to Home */

.book-detail-v4{
  --book-ink:#11110F;
  --book-muted:#6C6962;
  --book-line:#E4E1DA;
  --book-paper:#FCFBF7;
  background:#fff;
  color:var(--book-ink);
}
.book-detail-v4 .wrap{width:min(1160px,calc(100% - 64px));max-width:1160px;margin:auto}

.book-v4-hero{padding:54px 0 76px!important;background:#fff!important}
.book-v4-layout{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:84px;
  align-items:start;
}
.book-v4-art{
  min-height:470px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:24px 0 0;
  background:transparent;
}
.book-v4-art .cover{
  width:min(100%,286px)!important;
  max-width:286px!important;
  margin:0 auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.book-v4-art .cover img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  box-shadow:-8px 18px 28px rgba(0,0,0,.17)!important;
}

.book-v4-info{padding-top:8px}
.book-v4-imprint{
  display:block;
  margin:10px 0 18px;
  color:#6C6962;
  font:500 9px/1 var(--type-display,'Inter Tight',Arial,sans-serif);
  letter-spacing:.23em;
  text-transform:uppercase;
  cursor:pointer;
}
.book-v4-imprint:before{display:none!important}
.book-v4-info h1{
  margin:0;
  max-width:700px;
  color:var(--book-ink);
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:clamp(34px,3vw,44px)!important;
  line-height:1.02!important;
  font-weight:400!important;
  letter-spacing:.085em!important;
  text-transform:uppercase;
  text-wrap:balance;
}
.book-v4-author{
  margin-top:18px;
  color:#2D2B28;
  font:450 13px/1.2 var(--type-display,'Inter Tight',Arial,sans-serif);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.book-v4-author a,.book-v4-author .entity-author{color:inherit!important;text-decoration:none}

.book-v4-purchase{
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid #C9C6BF;
}
.book-v4-purchase-top{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:42px;
  align-items:end;
}
.book-v4-small-label,.book-v4-stores-head{
  display:block;
  margin-bottom:9px;
  color:#8B8780;
  font:650 8px/1.2 var(--type-display,'Inter Tight',Arial,sans-serif);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.book-v4-price{
  display:block;
  color:var(--book-ink);
  font:500 26px/1 var(--type-display,'Inter Tight',Arial,sans-serif);
  letter-spacing:-.025em;
}
.book-v4-formats{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  align-items:flex-end;
}
.book-v4-format{
  appearance:none;
  -webkit-appearance:none;
  height:auto;
  min-height:0;
  padding:0 0 7px;
  border:0;
  border-bottom:1px solid transparent;
  border-radius:0;
  outline:0;
  background:transparent;
  color:#77736D;
  font:500 12px/1 var(--type-display,'Inter Tight',Arial,sans-serif);
  cursor:pointer;
}
.book-v4-format:hover{color:#111;border-bottom-color:#A5A098}
.book-v4-format.active{
  background:transparent;
  border-bottom-color:#111;
  color:#111;
  font-weight:600;
}

.book-v4-stores-head{margin-top:30px}
.book-v4-stores{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:38px;
}
.book-v4-store{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0;
  border:0;
  border-bottom:1px solid #ECE9E2;
  background:transparent;
  color:#171613;
  text-decoration:none;
  font:500 12px/1.2 var(--type-display,'Inter Tight',Arial,sans-serif);
  cursor:pointer;
}
.book-v4-store-action{
  color:#6F6A63;
  font:500 11px/1.2 var(--type-display,'Inter Tight',Arial,sans-serif);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.book-v4-store:hover{color:#111}
.book-v4-store:hover .book-v4-store-action{color:#111}

.book-v4-meta{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
  margin-top:36px;
  padding-top:18px;
  border-top:1px solid #C9C6BF;
}
.book-v4-meta>div{min-width:0;padding:0;border:0!important}
.book-v4-meta span{
  display:block;
  margin-bottom:6px;
  color:#9A968F;
  font:650 8px/1.2 var(--type-display,'Inter Tight',Arial,sans-serif);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.book-v4-meta strong{
  display:block;
  color:#33302C;
  font:500 11px/1.4 var(--type-display,'Inter Tight',Arial,sans-serif);
  overflow-wrap:anywhere;
}

.book-v4-description{
  padding:82px 0 90px!important;
  border-top:1px solid var(--book-line);
  background:var(--book-paper)!important;
}
.book-v4-description-grid{
  display:grid;
  grid-template-columns:300px minmax(0,700px);
  gap:116px;
  align-items:start;
}
.book-v4-description-side .eyebrow,
.book-v4-rulehead .eyebrow{
  color:#777169!important;
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.2em!important;
  text-transform:uppercase;
}
.book-v4-description-side .eyebrow{margin-bottom:16px}
.book-v4-standfirst{
  margin:0;
  color:#20201D;
  font:400 18px/1.55 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  letter-spacing:-.005em;
}
.book-v4-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.book-v4-tags .tag{
  padding:4px 0!important;
  border:0!important;
  border-bottom:1px solid #C9C6BF!important;
  background:transparent!important;
  color:#6F6A63!important;
  font:500 10px/1.1 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  cursor:pointer;
}
.book-v4-copy{
  color:#2B2926;
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:18px;
  line-height:1.62;
  letter-spacing:-.005em;
}
.book-v4-copy p{
  margin:0 0 1.25em;
  font-family:inherit!important;
}
.book-v4-copy p:last-child{margin-bottom:0}
.book-v4-copy .book-v4-quote{
  margin-bottom:1.15em;
  color:#1E1D1A;
  font-family:var(--type-reading,'Newsreader',Georgia,serif)!important;
  font-size:clamp(24px,2.2vw,32px);
  line-height:1.3;
  font-style:italic;
  letter-spacing:0;
}

.book-v4-series,.book-v4-authors{
  padding:0 0 76px!important;
  background:#fff!important;
}
.book-v4-series{padding-top:76px!important}
.book-v4-rulehead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:26px;
  padding-top:16px;
  border-top:1px solid #C9C6BF;
}
.book-v4-rulehead h2{
  margin:9px 0 0;
  color:var(--book-ink);
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:clamp(24px,2.2vw,32px)!important;
  line-height:1.06!important;
  font-weight:400!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}
.book-v4-rulehead .link,
.book-v4-author-row .link{
  padding:0 0 4px!important;
  border:0!important;
  border-bottom:1px solid #8F8A82!important;
  background:transparent!important;
  color:#3A3733!important;
  font:600 11px/1 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  cursor:pointer;
}

.book-v4-series .volume-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.book-v4-series .volume{
  min-height:130px;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.book-v4-series .volume .cover{
  width:74px!important;
  max-width:74px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.book-v4-series .volume .cover img{
  width:74px!important;
  height:auto!important;
  max-height:111px!important;
  object-fit:contain!important;
  box-shadow:none!important;
}
.book-v4-series .volume .eyebrow{
  color:#8C877F!important;
  font-size:8px!important;
  letter-spacing:.13em!important;
  font-weight:650!important;
}
.book-v4-series .volume h3{
  margin:7px 0 0!important;
  color:#171613!important;
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:18px!important;
  line-height:1.1!important;
  font-weight:450!important;
  letter-spacing:-.02em!important;
}

.book-v4-author-row{
  display:grid;
  grid-template-columns:300px minmax(0,620px);
  gap:110px;
  padding:30px 0;
  border-bottom:1px solid var(--book-line);
}
.book-v4-author-row h3{
  margin:0;
  color:#171613;
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:27px!important;
  line-height:1!important;
  font-weight:450!important;
  letter-spacing:-.025em!important;
  cursor:pointer;
}
.book-v4-author-row p{
  margin:0 0 14px;
  color:#5D5B57;
  font:400 15px/1.6 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
}

.book-v4-related{
  padding:52px 0 62px!important;
  border-top:1px solid var(--book-line)!important;
  background:transparent!important;
}
.book-v4-related>.wrap,
.book-v4-related .shelf{
  background:transparent!important;
}
.book-v4-related .sec-head{
  margin:0 0 26px!important;
  padding:0!important;
  border:0!important;
  align-items:start!important;
}
.book-v4-related .sec-head .eyebrow{
  margin:0 0 9px!important;
  color:#77736C!important;
  font:600 9px/1 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  letter-spacing:.18em!important;
}
.book-v4-related .sec-head h2{
  margin:0!important;
  color:var(--book-ink)!important;
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:clamp(25px,2.2vw,34px)!important;
  line-height:1.02!important;
  font-weight:400!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
}
.book-v4-related .shelf{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:34px 28px!important;
  overflow:visible!important;
  padding:0!important;
}
.book-v4-related .book{
  width:auto!important;
  min-width:0!important;
  max-width:180px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.book-v4-related .book .cover,
.book-v4-related .book-cover{
  width:100%!important;
  max-width:180px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.book-v4-related .book-cover>.cover{
  background:transparent!important;
  box-shadow:none!important;
}
.book-v4-related .book .cover img,
.book-v4-related .book img{
  box-shadow:0 14px 24px -18px rgba(0,0,0,.68)!important;
}
.book-v4-related .book h3{
  margin:12px 0 5px!important;
  color:#171613!important;
  font:400 15px/1.12 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  letter-spacing:-.018em!important;
}
.book-v4-related .book p{
  margin:0!important;
  color:#393631!important;
  font:italic 400 14px/1.2 var(--type-reading,'Newsreader',Georgia,serif)!important;
}
.book-v4-related .book small{
  margin-top:6px!important;
  color:#77736C!important;
  font:500 9px/1.2 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  letter-spacing:.06em!important;
}

/* Related editorial content: quiet continuation of the book page, not a promo card block. */
.book-related-content{
  background:#FCFBF7!important;
  border-top:1px solid var(--book-line)!important;
  padding:68px 0 76px!important;
}
.book-related-content .wrap{
  width:min(1160px,calc(100% - 64px));
  max-width:1160px;
  margin:auto;
}
.book-related-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,390px)!important;
  gap:54px!important;
  align-items:end!important;
  margin:0 0 28px!important;
  padding-top:16px!important;
  border-top:1px solid #C9C6BF!important;
}
.book-related-head .eyebrow{
  color:#77736C!important;
}
.book-related-head h2{
  margin:8px 0 0!important;
  color:var(--book-ink)!important;
  font-family:var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  font-size:clamp(26px,2.5vw,36px)!important;
  line-height:1.04!important;
  font-weight:450!important;
  letter-spacing:-.025em!important;
}
.book-related-head>p{
  margin:0!important;
  max-width:390px!important;
  color:#6C6962!important;
  font:400 15px/1.55 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
}
.book-related-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  border-top:1px solid var(--book-line)!important;
}
.book-related-card,
.book-related-card:only-child{
  max-width:none!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr) 130px!important;
  grid-template-areas:
    "type title cta"
    ". desc cta"!important;
  gap:8px 28px!important;
  align-items:start!important;
  padding:28px 0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--book-line)!important;
  box-shadow:none!important;
  transform:none!important;
}
.book-related-card:hover{
  border-color:var(--book-line)!important;
  box-shadow:none!important;
  transform:none!important;
}
.book-related-card:hover h3{
  opacity:.62;
}
.book-related-type{
  grid-area:type;
  padding-top:4px;
  color:#77736C!important;
  font:600 9px/1.2 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
}
.book-related-card h3{
  grid-area:title;
  margin:0!important;
  color:#171613!important;
  font:450 clamp(23px,2.2vw,31px)/1.03 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  letter-spacing:-.025em!important;
  transition:opacity .16s ease;
}
.book-related-card p{
  grid-area:desc;
  margin:4px 0 0!important;
  max-width:700px!important;
  color:#6C6962!important;
  font:400 15px/1.55 var(--type-reading,'Newsreader',Georgia,serif)!important;
}
.book-related-cta{
  grid-area:cta;
  align-self:center!important;
  justify-self:end!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  color:#171613!important;
  font:600 9px/1 var(--type-display,'Inter Tight',Arial,sans-serif)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
  white-space:nowrap;
}
.book-related-cta span:last-child{
  color:#171613!important;
  font-size:15px!important;
  line-height:1!important;
}

@media(max-width:920px){
  .book-v4-layout{
    grid-template-columns:290px minmax(0,1fr);
    gap:48px;
  }
  .book-v4-art{min-height:410px}
  .book-v4-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .book-v4-description-grid,
  .book-v4-author-row{
    grid-template-columns:240px minmax(0,1fr);
    gap:60px;
  }
  .book-v4-series .volume-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .book-v4-related .shelf{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px 20px!important}
}

@media(max-width:760px){
  .book-detail-v4 .wrap{width:calc(100% - 36px);max-width:none}
  .book-v4-hero{padding:32px 0 52px!important}
  .book-v4-layout{grid-template-columns:1fr;gap:30px}
  .book-v4-art{min-height:0;padding:14px 0 6px}
  .book-v4-art .cover{
    width:min(100%,220px)!important;
    max-width:220px!important;
  }
  .book-v4-info{padding-top:0}
  .book-v4-info h1{
    font-size:32px!important;
    line-height:1.02!important;
    letter-spacing:.055em!important;
  }
  .book-v4-author{margin-top:15px;font-size:12px}
  .book-v4-purchase{margin-top:30px}
  .book-v4-purchase-top{grid-template-columns:1fr;gap:22px}
  .book-v4-formats{gap:18px}
  .book-v4-stores{grid-template-columns:1fr}
  .book-v4-meta{grid-template-columns:1fr 1fr;gap:18px 22px}
  .book-v4-description{padding:50px 0 58px!important}
  .book-v4-description-grid{grid-template-columns:1fr;gap:26px}
  .book-v4-standfirst{font-size:17px}
  .book-v4-copy{font-size:17px;line-height:1.6}
  .book-v4-copy .book-v4-quote{font-size:24px}
  .book-v4-series{padding-top:52px!important}
  .book-v4-series,.book-v4-authors{padding-bottom:54px!important}
  .book-v4-rulehead{align-items:flex-start;flex-direction:column;gap:12px}
  .book-v4-rulehead h2{font-size:24px!important}
  .book-v4-series .volume-list{grid-template-columns:1fr}
  .book-v4-author-row{grid-template-columns:1fr;gap:14px;padding:24px 0}
  .book-v4-author-row h3{font-size:24px!important}
  .book-v4-related{padding:40px 0 48px!important}
  .book-v4-related .sec-head{margin-bottom:20px!important}
  .book-v4-related .sec-head h2{font-size:26px!important}
  .book-v4-related .shelf{
    display:flex!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    margin:0 -18px!important;
    padding:0 18px 10px!important;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .book-v4-related .shelf::-webkit-scrollbar{display:none}
  .book-v4-related .book{
    flex:0 0 138px!important;
    width:138px!important;
    max-width:138px!important;
    scroll-snap-align:start;
  }
  .book-v4-related .book .cover,
  .book-v4-related .book-cover{max-width:138px!important}
  .book-v4-related .book h3{font-size:14px!important;margin-top:10px!important}
  .book-v4-related .book p{font-size:13px!important}
  .book-v4-related .book small{font-size:8.5px!important}
}

.book-v4-author .entity-inline{
  cursor:pointer;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.book-v4-author .entity-inline:hover{opacity:.7}
.book-v4-tags .entity-tag:hover{
  color:#111!important;
  border-bottom-color:#111!important;
}

@media(max-width:760px){
  .book-related-content{padding:50px 0 58px!important}
  .book-related-content .wrap{width:calc(100% - 36px);max-width:none}
  .book-related-head{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:18px!important}
  .book-related-head h2{font-size:28px!important}
  .book-related-head>p{font-size:14px!important}
  .book-related-card,
  .book-related-card:only-child{
    display:block!important;
    padding:22px 0!important;
  }
  .book-related-type{display:block;padding:0;margin-bottom:10px}
  .book-related-card h3{font-size:25px!important}
  .book-related-card p{margin-top:10px!important;font-size:15px!important}
  .book-related-cta{
    justify-self:auto!important;
    margin-top:18px!important;
    justify-content:space-between!important;
    width:100%!important;
  }
}


/* Product-art covers (packs / kits / boxes): enlarge artwork that arrives
   inside a square export canvas without changing ordinary book covers. */
.book-v4-art .cover:has(img[alt*="pack" i],img[alt*="kit" i],img[alt*="box" i]){
  overflow:hidden!important;
}
.book-v4-art .cover:has(img[alt*="pack" i],img[alt*="kit" i],img[alt*="box" i]) img{
  transform:scale(1.32);
  transform-origin:center;
}
.book-v4-related .book-cover:has(img[alt*="pack" i],img[alt*="kit" i],img[alt*="box" i]),
.book-v4-related .cover:has(img[alt*="pack" i],img[alt*="kit" i],img[alt*="box" i]){
  overflow:hidden!important;
}
.book-v4-related img[alt*="pack" i],
.book-v4-related img[alt*="kit" i],
.book-v4-related img[alt*="box" i]{
  transform:scale(1.25);
  transform-origin:center;
}


/* Preview Sep 26 — related shelf has no card/placement shadow.
   Only the cover artwork is shown against the page background. */
.book-v4-related,
.book-v4-related>.wrap,
.book-v4-related .shelf,
.book-v4-related .book,
.book-v4-related .book-cover,
.book-v4-related .book-cover>.cover{
  background:transparent!important;
  box-shadow:none!important;
}
.book-v4-related .book-cover,
.book-v4-related .book-cover>.cover{
  overflow:visible!important;
}
.book-v4-related .book-cover img,
.book-v4-related .book .cover img,
.book-v4-related .book img{
  box-shadow:none!important;
  filter:none!important;
}


/* Preview Sep 26 — transparent product PNGs must not cast a rectangular canvas shadow.
   Use alpha-aware drop-shadow so only the visible pack artwork receives depth. */
.book-v4-art .cover:has(img[alt*="pack" i],img[alt*="kit" i],img[alt*="box" i]) img{
  box-shadow:none!important;
  filter:drop-shadow(-6px 14px 12px rgba(0,0,0,.14))!important;
}


/* Preview Sep 26 — keep product art visually comparable to covers in recommendation rows. */
.book-v4-related img[alt*="pack" i],
.book-v4-related img[alt*="kit" i],
.book-v4-related img[alt*="box" i]{
  transform:scale(1.42)!important;
  transform-origin:center!important;
}
