/*
 * component-cart.css — cart/conversion components (single-product sticky buy bar). apb-rx-* namespace,
 * tokens only (no brand-tinted literals), no !important. Rendered by trait-apb-component-render-cart.php.
 * The add-to-cart button styling + states live in component-products.css (.apb-store-atc-btn).
 */
.apb-rx-buybar-wrap { position: sticky; bottom: 0; z-index: 20; padding: 0; }
.apb-rx-buybar {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  max-width: 1000px; margin: 0 auto; padding: 12px clamp(16px, 4vw, 24px);
  background: var(--apb-rx-surface); border-top: 1px solid var(--apb-rx-line);
  box-shadow: 0 -8px 30px rgba(0, 0, 0, .08);
}
.apb-rx-buybar-media { flex: none; width: 52px; height: 52px; border-radius: calc(var(--apb-rx-radius) * .7); overflow: hidden; background: var(--apb-rx-soft); }
.apb-rx-buybar-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.apb-rx-buybar-info { flex: 1; min-width: 120px; }
.apb-rx-buybar-name { font-weight: 700; font-size: 15px; letter-spacing: -.01em; }
.apb-rx-buybar-sub { display: flex; align-items: baseline; gap: 8px; font-size: 13px; color: var(--apb-rx-dim); margin-top: 2px; }
.apb-rx-buybar-price { font-weight: 700; color: var(--apb-rx-ink); }
.apb-rx-buybar-price s { color: var(--apb-rx-dim); font-weight: 400; margin-right: 6px; }
.apb-rx-buybar-act { flex: none; }
.apb-rx-buybar-cta { padding-left: clamp(20px, 4vw, 34px); padding-right: clamp(20px, 4vw, 34px); }

@media (max-width: 560px) {
  .apb-rx-buybar-act { flex: 1 1 100%; }
  .apb-rx-buybar-cta { display: block; text-align: center; }
}
