/* Thin integration layer. The original page CSS stays untouched. */
.ms2_form { margin: 0; }
.ms2-message-success, .ms2-message-error, .ms2-message-info {
  position: fixed; right: 20px; bottom: 20px; z-index: 1000;
  max-width: min(420px, calc(100vw - 40px)); padding: 14px 18px;
  border-radius: 12px; background: #1f6b45; color: #fff;
  box-shadow: 0 14px 40px rgba(0,0,0,.18);
}
.ms2-message-error { background: #a82e2e; }
.ms2-message-info { background: #273044; }
.product form.purchase, .summary form.order-row { display: flex; }
.product .qty input, .summary .qty input { text-align: center; }
.product.is-filtered-out { display: none !important; }
.ms2_total_count:empty::before { content: "0"; }
.ms2_total_cost:empty::before { content: "0"; }
.checkout-empty { padding: 28px; text-align: center; }
.checkout-empty a { display: inline-block; margin-top: 14px; }
.b2b-banner > a { margin-left: auto; z-index: 1; }
.summary .item { grid-template-columns: 72px minmax(0,1fr) auto auto; }
.summary .item form button { border: 0; background: transparent; color: #9a3b2f; font-size: 20px; cursor: pointer; }
.order-submit-proxy { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
.product h2 a, .product h3 a, .related-card a { color: inherit; }
@media (max-width: 560px) { .summary .item { grid-template-columns: 56px minmax(0,1fr) auto; } .summary .item form { grid-column: 3; } }
