/* Mobile readability overrides — 2026-07-27 */
@media (max-width: 720px) {
  html { font-size: 16px; }
  body { font-size: 16px; line-height: 1.65; }

  .storefront-page .minimal-hero-copy > p,
  .minimal-storefront .minimal-heading > p,
  .polished-page .product-clean-copy > p:not(.coming-soon-note),
  .polished-page .faq-list p,
  .legal-copy p,
  .legal-copy li { font-size: 16px; }

  .hero-new-release,
  .minimal-kicker,
  .product-subject,
  .product-format,
  .memory-cover-chip,
  .checkout-back,
  .checkout-header-assurance,
  .checkout-progress,
  .checkout-progress span,
  .checkout-section-heading p,
  .checkout-polished .checkout-field > span,
  .checkout-polished .checkout-field input,
  .checkout-polished .checkout-field select,
  .checkout-field-note,
  .checkout-polished [data-field-error]:not(:empty),
  .checkout-polished .cart-product-copy small,
  .checkout-polished .cart-product-price,
  .checkout-upsell-copy span,
  .checkout-upsell-product .button,
  .checkout-before-payment,
  .checkout-polished .checkout-secure small,
  .checkout-polished .checkout-assurance-row span,
  .checkout-order-summary > div,
  .checkout-order-summary > div strong,
  .checkout-order-summary .cart-selection-note,
  .checkout-polished .checkout-consent-copy > span,
  .checkout-polished .checkout-consent-error:not(:empty),
  .checkout-polished .checkout-footer { font-size: 13px; }

  .checkout-section-heading h2,
  .checkout-products-heading h2,
  .checkout-polished .cart-product-copy strong,
  .checkout-polished .checkout-secure strong { font-size: 16px; }

  .checkout-polished .checkout-field input,
  .checkout-polished .checkout-field select {
    min-height: 48px;
    padding: 12px 13px;
  }

  .checkout-progress b { font-size: 12px; }
  .checkout-upsell-label span,
  .checkout-upsell-copy small,
  .checkout-polished .cart-product-check { font-size: 11px; }
  .checkout-upsell-copy strong { font-size: 14px; }
  .checkout-place-order { gap: 12px; }
  .checkout-polished .checkout-consent-copy > span > strong { font-size: 10px; }
  .checkout-polished .checkout-submit { min-height: 54px; font-size: 16px; }
  .checkout-order-total > span { font-size: 15px; }
  .checkout-order-summary .checkout-order-total strong { font-size: 27px; }
  .checkout-payment-card > .checkout-message { font-size: 14px; }
}

@media (max-width: 430px) {
  .checkout-header-assurance { font-size: 0; }
  .checkout-header-assurance b { font-size: 12px; }
  .checkout-progress span { font-size: 12px; }
  .checkout-progress span:last-child { display: none; }
  .checkout-polished .checkout-consent-copy > span { line-height: 1.45; }
}


/* Mobile product flow and checkout card repair — 2026-07-31 */
@media (max-width: 768px) {
  /* Product page: introduce the book visually before its contents and offer for ALL books. */
  .memory-launch-page .memory-launch-grid,
  .product-polished .product-clean-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  .memory-launch-page .memory-launch-cover-wrap,
  .product-polished .product-cover-stage {
    order: -1 !important;
    width: min(85%, 340px) !important;
    margin: 4px auto 0 !important;
    min-height: auto !important;
  }

  .memory-launch-page .memory-launch-copy,
  .product-polished .product-clean-copy {
    order: 1 !important;
    min-width: 0 !important;
  }

  /* Checkout: replace the compressed desktop table with readable mobile cards. */
  .checkout-polished .checkout-product-columns,
  .checkout-polished .cart-unit-price,
  .checkout-polished .cart-product-quantity {
    display: none !important;
  }

  .checkout-polished .cart-product-option {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    gap: 10px 12px !important;
    min-width: 0 !important;
    padding: 18px 16px !important;
  }

  .checkout-polished .cart-product-option > input {
    position: absolute !important;
  }

  .checkout-polished .cart-product-check {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
  }

  .checkout-polished .cart-product-main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    min-width: 0 !important;
  }

  .checkout-polished .cart-book-thumb {
    width: 86px !important;
    min-width: 86px !important;
    height: auto !important;
    aspect-ratio: 9 / 13 !important;
    margin: 0 !important;
  }

  .checkout-polished .cart-book-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .checkout-polished .cart-product-copy,
  .checkout-polished .cart-product-inclusions,
  .checkout-polished .cart-product-inclusion {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .checkout-polished .cart-product-copy {
    display: grid !important;
    gap: 7px !important;
  }

  .checkout-polished .cart-product-copy strong {
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
  }

  .checkout-polished .cart-product-inclusions {
    display: grid !important;
    gap: 5px !important;
  }

  .checkout-polished .cart-product-inclusion {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 5px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  .checkout-polished .cart-product-price {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    margin: -2px 0 0 98px !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  .checkout-polished .cart-product-option {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    padding: 16px 12px !important;
    gap: 9px !important;
  }

  .checkout-polished .cart-product-main {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .checkout-polished .cart-book-thumb {
    width: 72px !important;
    min-width: 72px !important;
  }

  .checkout-polished .cart-product-price {
    margin-left: 82px !important;
  }
}
