/* Shared retailer controls. Google Play artwork retains its original colors. */
.retailer-price-row { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:8px 0 14px; }
.retailer-price-row .price-box { width:auto; min-width:150px; margin:0; }
.retailer-price-row .purchase-badge { width:220px; max-width:100%; }
.retailer-price-row .purchase-link { padding:0; border:0; background:transparent; }
a.google-play-button, .free-book-links a.google-play-button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:9px; width:235px; max-width:100%; min-height:72px; padding:7px 10px; border:2px solid #649bc6; border-radius:12px; background:linear-gradient(#a9d5f5,#7cb7e3); box-shadow:inset 0 1px 2px #e1f2ff,0 1px 3px #0004; color:#14374f; text-decoration:none; text-align:left; vertical-align:middle; font-family:Arial,sans-serif; transition:background .16s,transform .16s; }
a.google-play-button:hover, .free-book-links a.google-play-button:hover { background:linear-gradient(#99cbee,#69aadd); color:#14374f; transform:translateY(-2px); }
a.google-play-button:focus-visible { outline:3px solid #176597; outline-offset:4px; }
a.google-play-button .google-play-icon { position:relative; display:block; flex:0 0 45px; width:45px; height:54px; overflow:hidden; }
a.google-play-button .google-play-icon img { position:absolute; display:block; width:256px; height:64px; max-width:none; left:-8px; top:-5px; margin:0; border:0; border-radius:0; box-shadow:none; object-fit:contain; }
a.google-play-button .google-play-label { display:flex; flex-direction:column; gap:1px; white-space:nowrap; }
a.google-play-button small { font:500 12px/1.2 Arial,sans-serif; color:inherit; }
a.google-play-button strong { font:600 26px/1.15 Arial,sans-serif; letter-spacing:-.5px; color:inherit; }
.retailer-store-row { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:12px 0; }
.purchase-buttons.retailer-store-row { margin:12px 0; }
.book-card .google-play-button { margin-top:12px; width:100%; }
.review-book .google-play-button { margin-top:10px; }
.featured-copy .google-play-button { margin-top:14px; }
@media(max-width:900px) { .retailer-price-row { justify-content:center; } .retailer-price-row .price-box { margin:0; } .product-info .retailer-store-row { justify-content:center; } }
@media(max-width:520px) { .retailer-price-row { gap:10px; } .retailer-price-row .price-box { min-width:110px; padding:10px; font-size:30px; } .retailer-price-row .purchase-badge { width:180px; } .retailer-store-row { justify-content:center; } a.google-play-button { min-height:70px; } }
/* Compact retailer controls inside narrow catalogue and review cards. */
.book-card, .review-book { min-width:0; }
a.google-play-button { min-width:0; container-type:inline-size; }
@container (max-width:215px) {
  a.google-play-button .google-play-icon { flex-basis:36px; width:36px; }
  a.google-play-button .google-play-icon img { width:220px; height:55px; left:-8px; top:0; }
  a.google-play-button strong { font-size:23px; }
  a.google-play-button small { font-size:11px; }
}
@container (max-width:175px) {
  a.google-play-button .google-play-icon { flex-basis:24px; width:24px; height:36px; }
  a.google-play-button .google-play-icon img { width:145px; height:36px; left:-5px; top:0; }
  a.google-play-button strong { font-size:17px; letter-spacing:-.3px; }
  a.google-play-button small { font-size:8px; }
}
@media(max-width:360px) { .review-content .book-grid { grid-template-columns:1fr; } }
/* Keep Kindle and Google Play in the same product-purchase column. */
@media(min-width:521px) {
  .product-info .retailer-price-row,
  .product-info .retailer-store-row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,235px));
    gap:14px;
    width:min(100%,484px);
    justify-content:start;
  }
  .product-info .retailer-price-row .price-box { justify-self:start; }
  .product-info .retailer-price-row .purchase-badge { width:235px; }
  .product-info .retailer-store-row .purchase-badge { max-width:100%; }
}
@media(min-width:521px) and (max-width:900px) {
  .product-info .retailer-price-row,
  .product-info .retailer-store-row { margin-left:auto; margin-right:auto; }
}
/* On phones, show the price first and each store on its own row. */
@media(max-width:520px) {
  .product-info .retailer-price-row,
  .product-info .retailer-store-row,
  .continue-area .purchase-buttons {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
  }
  .product-info .retailer-price-row .purchase-badge { width:235px; }
  .product-info .retailer-store-row .purchase-badge,
  .continue-area .purchase-badge { width:235px; max-width:100%; }
}
/* Equal footprints for the three purchase controls; artwork stays proportional. */
.product-info .retailer-price-row .purchase-link,
.product-info .retailer-store-row > .purchase-link,
.product-info .retailer-store-row > .google-play-button,
.continue-area .purchase-buttons > .purchase-link,
.continue-area .purchase-buttons > .google-play-button {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:235px;
  max-width:100%;
  height:76px;
  min-height:76px;
  flex-shrink:0;
}
.product-info .retailer-price-row .purchase-badge,
.product-info .retailer-store-row .purchase-badge,
.continue-area .purchase-buttons .purchase-badge {
  display:block;
  width:100%;
  max-width:100%;
  height:100%;
  object-fit:contain;
}
