/* Cart and checkout shared components: purchase stepper, summary extras (guarantees, payment logos,
 * help contacts, mobile total bar) and promo code box. Loads on both pages, after
 * woocommerce-reskin.css and before cart.css / checkout.css. */

/* Purchase steps under the cart/checkout title (template-parts/cart/stepper.php) */
.myc-stepper { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font: 400 0.75rem var(--myc-font-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--myc-grey-2); }
.myc-stepper li, .myc-stepper a { display: flex; align-items: center; gap: 8px; }
.myc-stepper a { color: inherit; text-decoration: none; }
.myc-stepper a:hover { color: var(--myc-ink); }
.myc-stepper b { width: 22px; height: 22px; border: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; font-weight: 500; letter-spacing: 0; }
.myc-stepper .is-on { color: var(--myc-ink); }
.myc-stepper .is-on b { background: var(--myc-ink); border-color: var(--myc-ink); color: var(--myc-white); }
.myc-stepper .is-done b { background: var(--myc-blue); border-color: var(--myc-blue); color: var(--myc-white); }

/* Progress bars: volume discount (template-parts/cart/volume-discount-banner.php) and free
   shipping (myc_v3_cart_free_shipping_progress(), also above the checkout summary) */
.myc-cart-prog { background: var(--myc-white); border: 1px solid var(--myc-line); padding: 18px 20px; display: grid; gap: 10px; }
.myc-cart-prog + .myc-cart-prog { border-top: 0; }
.myc-cart-prog p { margin: 0; font-size: 0.90625rem; line-height: 1.45; color: var(--myc-ink); }
.myc-cart-prog p b { font-weight: 500; }
.myc-cart-prog.is-ok p::before { content: '✓'; color: var(--myc-blue); margin-right: 8px; }
.myc-cart-prog-bar { height: 4px; background: var(--myc-line); position: relative; overflow: hidden; }
.myc-cart-prog-bar i { position: absolute; inset: 0 auto 0 0; background: var(--myc-blue); transition: width .4s ease; }

/* Shared by the cart summary (template-parts/cart/summary-extras.php) and the checkout summary
   (template-parts/checkout/summary-extras.php): guarantees list, help contacts, mobile total bar. */
.myc-cart-trust { list-style: none; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--myc-line); display: grid; gap: 10px; font-size: 0.8125rem; font-weight: 400; color: var(--myc-text-body); }
.myc-cart-trust li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; }
.myc-cart-trust li > span:first-child { color: var(--myc-blue); }
.myc-cart-trust b { font-weight: 500; color: var(--myc-ink); }
.myc-cart-paylogos { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 16px; }
.myc-cart-paylogos img { height: 24px; width: auto; }
.myc-cart-help { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 16px; font-size: 0.8125rem; font-weight: 400; color: var(--myc-grey-2); }
.myc-cart-help a { color: var(--myc-ink); font-weight: 500; border-bottom: 1px solid var(--myc-line); }


.myc-cart-bar { display: none; }
@media (max-width: 1023px) {
  .myc-cart-bar { display: flex; align-items: center; gap: 14px; position: sticky; bottom: 0; z-index: 25; margin: 24px calc(-1 * var(--myc-container-pad)) 0; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(246, 245, 242, .97); border-top: 1px solid var(--myc-line); backdrop-filter: blur(8px); }
  .myc-cart-bar-total { font-size: 0.75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--myc-grey-2); line-height: 1.3; }
  .myc-cart-bar-total b { display: block; font: 400 1.375rem var(--myc-font-serif); letter-spacing: 0; text-transform: none; color: var(--myc-ink); }
  .myc-cart-bar-total small { display: none; }
  .myc-cart-bar .myc-btn { flex: 1; padding: 16px 12px; }
}

/* Promo code box: cart summary (cart/form-coupon-cart.php) and checkout summary (myc_v3_checkout_coupon_box()). */
.myc-cart-coupon-wrap { margin-top: 14px; border-top: 1px solid var(--myc-line); padding-top: 12px; }
.myc-cart-coupon-wrap summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; font-size: 0.84375rem; color: var(--myc-ink); }
.myc-cart-coupon-wrap summary::-webkit-details-marker { display: none; }
.myc-cart-coupon-wrap summary::after { content: '+'; color: var(--myc-blue); font-size: 1.125rem; line-height: 1; }
.myc-cart-coupon-wrap[open] summary::after { content: '−'; }
.myc-cart-coupon { display: flex; margin: 10px 0 0; }
.myc-cart-coupon #coupon_code { flex: 1; min-width: 0; font: 400 0.875rem var(--myc-font-sans); color: var(--myc-ink); background: var(--myc-white); border: 1px solid #c9c5be; border-right: 0; padding: 12px; }
.myc-cart-coupon-submit { background: var(--myc-ink); color: var(--myc-white); border: 0; font: 500 0.75rem var(--myc-font-sans); letter-spacing: .16em; text-transform: uppercase; padding: 0 16px; cursor: pointer; }
