.shop-browser-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:1rem!important;
}
.shop-browser-card{width:100%;min-width:0;height:100%}
.shop-browser-card>img,
.shop-browser-card>.shop-image-placeholder{
  width:100%!important;
  max-width:none!important;
  aspect-ratio:1600/1873!important;
  object-fit:cover!important;
  align-self:stretch!important;
  margin:0!important;
}
.shop-music-grid .shop-browser-card>img,
.shop-music-grid .shop-browser-card>.shop-image-placeholder{aspect-ratio:1!important}
.shop-browser-card-copy{width:100%;min-width:0;padding:1rem!important}
.shop-browser-card-copy h2{
  width:100%;
  margin-bottom:.65rem!important;
  font-size:clamp(1.15rem,1.45vw,1.5rem)!important;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.shop-browser-card-copy p{font-size:.92rem}
.shop-card-actions{gap:.55rem!important}
.shop-card-actions .button{width:100%;justify-content:center;text-align:center}
.shop-two-line-order{display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;line-height:1.15!important;min-height:3.15rem!important;height:auto!important;padding-top:.55rem!important;padding-bottom:.55rem!important;overflow:visible!important}
.shop-two-line-order .shop-button-line{display:block;width:100%;text-align:center}
.shop-promo-panel{max-width:760px;margin:1.25rem auto 0;padding:1rem 1.25rem;border:1px solid var(--line);background:#fff;display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}
.shop-promo-panel label{display:grid;gap:.35rem;flex:1 1 240px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.shop-promo-panel input{min-height:46px;padding:.7rem .8rem;border:1px solid #9db0c4;color:var(--ink);font:inherit;text-transform:none;letter-spacing:0}
.shop-promo-panel .button{min-height:46px}
.shop-promo-status{flex-basis:100%;margin:0;color:var(--muted);font-size:.85rem}
@media(max-width:1200px){.shop-browser-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:950px){.shop-browser-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.shop-browser-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:460px){.shop-browser-grid{grid-template-columns:1fr!important}}
/* Book shop format button: force the requested two centered lines even if stale client markup is cached. */
.shop-browser-grid .shop-browser-card a.button[href^="/shop/books/"]{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:76px!important;
  height:76px!important;
  padding:.55rem .65rem!important;
  margin-top:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  font-size:0!important;
  line-height:1!important;
}
.shop-browser-grid .shop-browser-card a.button[href^="/shop/books/"]>*{display:none!important}
.shop-browser-grid .shop-browser-card a.button[href^="/shop/books/"]::before{
  content:"View Formats\A and Order";
  white-space:pre-line!important;
  display:block!important;
  width:100%!important;
  text-align:center!important;
  color:inherit!important;
  font-size:.82rem!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}