/* Purchase controls apply to both the homepage and the product archive. */
body .products li.product .ml-card-purchase { margin: auto 12px 0; padding-top: 24px; display: grid; gap: 12px; }
body .products li.product .ml-card-purchase .button { width: 100%; margin: 0; min-height: 48px; padding: 12px; font-size: 16px; }
.ml-quantity { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; border: 1px solid #c4cfd9; border-radius: 8px; overflow: hidden; background: white; }
.ml-quantity > button { border: 0; background: #edf2f6; color: #073057; font-size: 24px; min-height: 44px; padding: 0; }
.ml-quantity .quantity { float: none !important; margin: 0 !important; min-width: 0; width: 100%; }
body .ml-quantity input.qty { width: 100%; max-width: none; height: 44px; min-height: 44px; margin: 0; border: 0; border-radius: 0; padding: 4px; text-align: center; font-size: 16px; appearance: textfield; -moz-appearance: textfield; }
.ml-quantity input::-webkit-inner-spin-button, .ml-quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ml-quantity button:disabled { opacity: .4; cursor: default; }
.ml-add-button:disabled { opacity: .7; cursor: wait; }
body .products li.product .ml-card-status { font-size: 13px; line-height: 1.4; min-height: 20px; margin: 0; color: #073057; overflow-wrap: anywhere; }
body .products li.product .ml-card-purchase .added_to_cart { display: none; }
body .products li.product .price { margin-bottom: 12px; }
.ml-cart-notice { position: fixed; right: 24px; bottom: 24px; z-index: 1100; max-width: 420px; width: calc(100% - 48px); background: #073057; color: white; padding: 24px 48px 24px 24px; border-radius: 12px; box-shadow: 0 8px 32px #0003; }
.ml-cart-notice[hidden] { display: none; }
.ml-cart-notice p { margin: 0 0 12px; font-size: 16px; }
.ml-cart-notice a { color: white; text-decoration: underline; font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; }
.ml-cart-notice > button { position: absolute; right: 4px; top: 4px; min-width: 44px; min-height: 44px; background: transparent; color: white; border: 0; font-size: 28px; }
body .site-header.is-floating { position: fixed; top: var(--ml-admin-offset, 0px); left: 0; right: 0; z-index: 1000; width: 100%; max-width: none; margin: 0; padding: 12px 32px; background: #fff; box-shadow: 0 4px 24px #0002; transform: translateY(calc(-100% - var(--ml-admin-offset, 0px) - 24px)); transition: transform .2s ease; }
body .site-header.is-floating.is-revealed { transform: translateY(0); }
body .site-header.is-floating .header-row { max-width: var(--content); margin: auto; min-height: 48px; }
body .site-header.is-floating #primary-nav:not(.open), body .site-header.is-floating .mobile-shortcuts { display: none; }
body .site-header.is-floating:focus-within { transform: translateY(0); }
@media(max-width:900px) {
  body .site-header.is-floating { padding: 12px 24px; }
  body .site-header.is-floating .header-row { flex-wrap: wrap; }
  body .site-header.is-floating .product-search { order: 4; flex-basis: 100%; }
  body .site-header.is-floating .header-actions { display: flex; margin: 0 0 0 auto; }
  body .site-header.is-floating .account-link { display: none; }
  body .site-header.is-floating .cart-link { display: flex; min-height: 44px; }
  body .site-header.is-floating #primary-nav.open { max-height: 50vh; overflow-y: auto; }
}
@media(prefers-reduced-motion: reduce) { body .site-header.is-floating { transition: none; } }
body .home-main .product-carousel .product-storage { min-height: 40px; margin-top: 12px; }
body .products li.product .ml-card-purchase { padding-top: 12px; }
