/* v1.4.4 — final homepage card geometry */
:root{--card-purchase-height:64px;--cover-waziri-width:158px;--cover-waziri-ratio:33/47}

/* Every homepage book uses one identical Waziri frame, independent of its image. */
.book-card .card-cover,
.fresh-section .card-compact .card-cover,
.card-premium .card-cover,
.card-modern .card-cover{
  box-sizing:border-box!important;
  width:100%!important;
  height:252px!important;
  min-height:252px!important;
  padding:12px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.book-card .book-visual,
.fresh-section .card-compact .book-visual,
.card-premium .book-visual,
.card-modern .book-visual{
  display:block!important;
  flex:none!important;
  width:var(--cover-waziri-width)!important;
  min-width:var(--cover-waziri-width)!important;
  max-width:var(--cover-waziri-width)!important;
  height:calc(var(--cover-waziri-width) * 47 / 33)!important;
  min-height:calc(var(--cover-waziri-width) * 47 / 33)!important;
  max-height:calc(var(--cover-waziri-width) * 47 / 33)!important;
  aspect-ratio:var(--cover-waziri-ratio)!important;
  margin:auto!important;
}
.book-card .book-face,
.book-card .book-face img,
.book-card .book-face .fake-cover{
  width:100%!important;
  height:100%!important;
  aspect-ratio:var(--cover-waziri-ratio)!important;
}
.book-card .book-face img{object-fit:contain!important;object-position:center!important}

/* One structural rule for every card family: content, overlay, then an isolated purchase rail. */
.book-card{position:relative!important;box-sizing:border-box!important;min-height:500px!important;padding:0!important;overflow:hidden!important}
.book-card .card-blur-layer{min-height:0!important;padding-bottom:var(--card-purchase-height)!important;box-sizing:border-box!important}
.book-card>.book-hover-panel{
  top:12px!important;
  right:12px!important;
  bottom:calc(var(--card-purchase-height) + 12px)!important;
  left:12px!important;
  max-height:calc(100% - var(--card-purchase-height) - 24px)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  z-index:6!important;
}
.book-card>.book-hover-panel dl{min-height:0!important;overflow:auto!important;padding-inline:2px!important}
.book-card>.card-purchase-bar{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  z-index:20!important;
  box-sizing:border-box!important;
  height:var(--card-purchase-height)!important;
  min-height:var(--card-purchase-height)!important;
  margin:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

/* Exact geometric centering for the newsletter action label. */
.newsletter button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin:0!important;
}

@media(max-width:700px){
  :root{--cover-waziri-width:176px;--card-purchase-height:66px}
  .book-card .card-cover,
  .fresh-section .card-compact .card-cover,
  .card-premium .card-cover,
  .card-modern .card-cover{height:286px!important;min-height:286px!important;padding:15px 22px!important}
  .book-card{min-height:532px!important}
  .book-card>.book-hover-panel{bottom:calc(var(--card-purchase-height) + 12px)!important;max-height:calc(100% - var(--card-purchase-height) - 24px)!important}
  .card-spec-toggle{top:245px!important}
}
