/* bijuymodacheckout — cart page presentation, loaded only while the checkout is enabled (R1 gives back the native cart).
   classic-pablito conventions: brand #7828C8, dark prices #232323 (as the product page since the promo UI clean-up),
   46px controls, 52px full-width call to action. The module summary replaces the native subtotals (same figures and
   words as the checkout summary); the promo code block stays and moves below the button. */
body#cart .cart-grid-body .cart-container > .card-block .h1 { text-transform: none; font-size: 1.5rem; font-weight: 700; letter-spacing: 0; margin: 0; }
body#cart .cart-container { border-radius: 8px; }
body#cart .cart-items { margin: 0; }
body#cart .cart-item { padding: 1rem 0; border-bottom: 1px solid #eee; }
body#cart .cart-item:last-child { border-bottom: 0; }
body#cart .product-line-grid-left .product-image img { border: 1px solid #eee; border-radius: 6px; background: #fff; }
body#cart .product-line-info > a.label { color: #232323; font-weight: 600; font-size: .95rem; line-height: 1.35; text-transform: none; }
body#cart .product-line-info > a.label:hover, body#cart .product-line-info > a.label:focus { color: #7828C8; text-decoration: underline; }
body#cart .product-line-info.product-price, body#cart .product-line-info .current-price .price,
body#cart .product-line-grid-body .product-price { color: #232323; font-weight: 400; font-size: .95rem; }
body#cart .product-line-grid-body > br { display: none; }
body#cart .product-line-actions .price .product-price strong { color: #232323; font-weight: 700; }
body#cart .cart-line-product-actions .remove-from-cart { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  color: #7a7a7a; border-radius: 6px; }
body#cart .cart-line-product-actions .remove-from-cart:hover, body#cart .cart-line-product-actions .remove-from-cart:focus { color: #7828C8; background: #fbf9fe; }
body#cart .cart-line-product-actions .remove-from-cart:focus-visible { outline: 2px solid #7828C8; outline-offset: 1px; }
body#cart .cart-line-product-actions .remove-from-cart .material-icons { float: none; }
body#cart .cart-grid-body > a.label { display: inline-flex; align-items: center; gap: .25rem; margin: .75rem 0 1rem; color: #7828C8; font-weight: 600; }
body#cart .cart-grid-body > a.label:hover, body#cart .cart-grid-body > a.label:focus { text-decoration: underline; }
body#cart .no-items { display: block; padding: 1rem 1.25rem; color: #555; }

body#cart .cart-summary { display: flex; flex-direction: column; border-radius: 8px; }
body#cart .cart-summary .cart-detailed-actions { order: 1; padding: 1.25rem 1.25rem .75rem; }
body#cart .cart-summary .cart-detailed-totals { order: 2; }
body#cart .cart-summary .cart-detailed-subtotals, body#cart .cart-summary .cart-summary-totals { display: none; }
body#cart .cart-summary .cart-detailed-actions .text-sm-center { text-align: left; }
body#cart .cart-summary .block-promo { padding: 0 1.25rem 1rem; }
body#cart .cart-summary .block-promo .promo-code-button { margin: 0; text-align: center; font-size: .875rem; }
body#cart .cart-summary .block-promo .promo-code-button a { color: #7828C8; text-decoration: underline; }

.bjm-cart-summary { text-align: left; }
.bjm-cart-summary__title { font-size: 1.05rem; font-weight: 700; margin: 0 0 .75rem; text-transform: none; }
.bjm-cart-summary__totals { display: flex; flex-wrap: wrap; margin: 0; font-size: .9rem; }
.bjm-cart-summary__totals dt { width: 64%; font-weight: 400; margin-bottom: .35rem; }
.bjm-cart-summary__totals dd { width: 36%; text-align: right; margin-bottom: .35rem; white-space: nowrap; }
.bjm-cart-summary__totals .bjm-cart-summary__total { font-weight: 700; font-size: 1.05rem; border-top: 1px solid #eee; padding-top: .5rem; }
.bjm-cart-summary__note { margin: .35rem 0 1rem; font-size: .8rem; color: #555; }
body#cart .bjm-cart-entry { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; font-size: 15px; font-weight: 700; }
body#cart [data-bjm-minimum-alert] { margin-bottom: .75rem; text-align: left; }

@media (max-width: 767px) {
  body#cart .cart-grid-body .cart-container > .card-block .h1 { font-size: 1.25rem; }
  body#cart .cart-item { padding: .75rem 0; }
}
