/* The theme's offcanvas minicart without Magento's dropdown dialog (cart.js opens it with the theme's own
   .minicart-wrapper.active), and the few cart pieces of ours the theme has no style for. */
.minicart-wrapper.minicart-offcanvas .block-minicart { display: block; visibility: hidden; transition: transform .35s, visibility 0s .35s; }
.minicart-wrapper.minicart-offcanvas.active .block-minicart { visibility: visible; transition: transform .35s; }
#minicart-content-wrapper._block-content-loading { opacity: .5; pointer-events: none; }
.minicart-wrapper .block-minicart .free-shipping p { margin: 0; padding: 10px 20px 0; font-weight: 400; }
.minicart-wrapper .block-minicart .product.options .list { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 0 0 4px; font-weight: 400; }
.minicart-wrapper .block-minicart .product.options .label { color: #777; }
.minicart-wrapper .block-minicart .product.options .label::after { content: ':'; }
.minicart-wrapper .block-minicart .messages .message { margin: 10px 20px; }
.checkout-cart-index .fm-cart-ship, .checkout-cart-index .fm-cart-tax, .checkout-cart-index .fm-cart-notice,
.checkout-cart-index .fm-cart-stub, .checkout-cart-index .fm-cart-secure { font-size: max(13px, .8125rem); margin: 8px 0 0; }
/* the quantity and the order note take 16px, so a phone does not zoom into them */
.checkout-cart-index .cart.table-wrapper input.input-text.qty, .checkout-cart-index #fm-cart-note { font-size: 16px !important; }
.checkout-cart-index .fm-cart-note { clear: left; float: left; width: 73%; margin-top: 20px; }
.checkout-cart-index .fm-cart-note textarea { width: 100%; }
@media (max-width: 767px) { .checkout-cart-index .fm-cart-note { float: none; width: 100%; } }
.minicart-wrapper .block-minicart #top-cart-btn-checkout { display: block; text-align: center; }

/* the line's - / + and Remove, and the minicart's Remove, are buttons drawn as the theme drew them as links; Remove's
   glyph keeps its place inside a 40px tap */
.checkout-cart-index .col.qty .qty-changer > button {
  -webkit-appearance: none; appearance: none; font: inherit; display: block; position: absolute; top: 0; left: 0;
  margin: 0; padding: 0; width: 30px; height: 3rem; line-height: 3rem; border: 1px solid #e7e7e7; border-radius: 0;
  background: none; color: #222529; text-align: left; cursor: pointer; box-shadow: none;
}
.checkout-cart-index .col.qty .qty-changer > button:first-child { right: 0; left: auto; }
.checkout-cart-index .col.qty .qty-changer > button i { display: none; }
.checkout-cart-index .col.qty .qty-changer > button::before {
  content: ''; position: absolute; left: 50%; top: 50%; width: 9px; border-top: 1px solid; margin-top: -0.5px; margin-left: -4.5px;
}
.checkout-cart-index .col.qty .qty-changer > button.qty-inc::after {
  content: ''; position: absolute; left: 50%; top: 50%; height: 9px; border-left: 1px solid; margin-top: -4.5px; margin-left: -0.5px;
}
.checkout-cart-index .cart.table-wrapper .actions-toolbar > button.action-delete {
  -webkit-appearance: none; appearance: none; display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; right: -16px; top: -10px; margin: 0; padding: 0; border: 0; border-radius: 0;
  background: none; color: #1D1E20; cursor: pointer; box-shadow: none;
}
.minicart-wrapper .product .actions > .secondary button.action.delete {
  -webkit-appearance: none; appearance: none; display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; margin: -10px; padding: 0; border: 0; border-radius: 0; background: none;
  color: inherit; font-size: 11px; font-weight: 400; cursor: pointer; box-shadow: none;
}
.minicart-wrapper .product .actions > .secondary button.action.delete span { display: none; }
