/* Guest checkout (2026-09-18). Plain white, one summary column, like Best Buy / the reference marketplace. */
.gc-guest-btn { margin-top: 10px; }
.gc-guest-note { font-size: 12px; color: var(--gray); text-align: center; margin: 8px 0 0; }
.gc-page { padding: 28px 0 56px; }
.gc-page h1 { font-size: 30px; margin: 0 0 6px; }
.gc-sub { color: var(--gray); margin: 0 0 18px; font-size: 14px; }
.gc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; margin-top: 16px; }
.gc-lines h2, .gc-sum h2 { font-size: 18px; margin: 22px 0 12px; }
.gc-lines h2:first-child, .gc-sum h2:first-child { margin-top: 0; }
.gc-line { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto 32px; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.gc-line img { width: 88px; height: 88px; object-fit: cover; border-radius: 10px; background: #f4f4f7; }
.gc-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gc-info b { font-size: 15px; line-height: 1.35; }
.gc-info small { color: var(--gray); font-size: 13px; }
.gc-price { font-size: 15px; font-weight: 600; } .gc-price small { font-weight: 400; color: var(--gray); }
.gc-warn { font-style: normal; font-size: 12px; color: #c2410c; }
.gc-qty { display: flex; align-items: center; border: 1px solid #d9dae3; border-radius: 99px; overflow: hidden; }
.gc-qty button { width: 34px; height: 36px; border: 0; background: #fff; font-size: 18px; cursor: pointer; }
.gc-qty input { width: 64px; border: 0; text-align: center; font: inherit; font-size: 15px; -moz-appearance: textfield; }
.gc-rm { border: 0; background: none; font-size: 22px; color: var(--gray); cursor: pointer; }
.gc-sum { position: sticky; top: 20px; padding-left: 28px; border-left: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.gc-row { display: flex; justify-content: space-between; align-items: baseline; font-size: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.gc-row b { font-size: 20px; }
.gc-note { font-size: 12px; color: var(--gray); line-height: 1.5; margin: 0; }
.gc-mini { display: flex; gap: 12px; align-items: center; padding: 8px 0; }
.gc-mini img { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; background: #f4f4f7; flex: none; }
.gc-mini span { display: flex; flex-direction: column; min-width: 0; } .gc-mini b { font-size: 14px; } .gc-mini small { color: var(--gray); font-size: 12px; }
.gc-field { display: block; margin: 0 0 14px; }
.gc-field > span { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.gc-field input, .gc-field select, .gc-field textarea { width: 100%; border: 1px solid #d9dae3; border-radius: 10px; padding: 12px; font: inherit; font-size: 15px; background: #fff; outline: 0; }
.gc-field input:focus, .gc-field select:focus, .gc-field textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(62, 52, 249, .12); }
.gc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gc-three { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 14px; }
.gc-pay { font-size: 14px; line-height: 1.6; color: var(--ink); margin: 0; }
.gc-done-head { text-align: center; padding: 12px 0 8px; }
.gc-done-head p { color: var(--gray); }
.gc-ok { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #e8f7ef; color: var(--green); font-size: 28px; margin-bottom: 10px; }
.gc-steps { padding-left: 20px; margin: 0 0 8px; line-height: 1.7; font-size: 14px; }
@media (max-width: 900px) {
  .gc-grid { grid-template-columns: 1fr; gap: 8px; }
  .gc-sum { position: static; padding-left: 0; border-left: 0; border-top: 1px solid var(--line); padding-top: 18px; }
  .gc-line { grid-template-columns: 72px minmax(0, 1fr) 28px; }
  .gc-line img { width: 72px; height: 72px; }
  .gc-qty { grid-column: 2; justify-self: start; }
  .gc-two, .gc-three { grid-template-columns: 1fr; gap: 0; }
}
.pdp-bar-cart { border: 0; background: none; font: inherit; cursor: pointer; }
.pdp-bar-cart span { white-space: nowrap; }
.pdp-mobile-bar .pdp-bar-cart { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 0 4px; color: var(--ink); }
.pdp-mobile-bar .pdp-bar-cart span { font-size: 11px; font-weight: 600; }
.pdp-mobile-bar .pdp-bar-cart .icon { width: 22px; height: 22px; }
.pdp-mobile-bar .btn { white-space: nowrap; padding-left: 12px; padding-right: 12px; font-size: 14px; }
.cart-quote-alt { display: block; margin: 10px auto 0; font-size: 13px; color: var(--violet); }

/* On-site payment page (2026-09-19). The buyer pays on ajawtrade.com - Stripe's Payment
   Element renders the card fields in its own iframe, so #gc-payment-element is only a
   mount point and must not be styled from here beyond its box. */
.gc-paybox { border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: #fff; }
.gc-paymethods { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.gc-paychip {
  display: inline-flex; align-items: center; padding: 7px 13px; border-radius: 999px;
  border: 1px solid var(--line); font-size: 13px; font-weight: 550; color: var(--gray);
}
.gc-paychip.is-on { border-color: var(--violet); color: var(--violet); background: var(--tint); }

.gc-paypage .gc-lines { min-width: 0; }
.gc-payform { border: 1px solid var(--line); border-radius: 12px; padding: 20px; background: #fff; }
#gc-payment-element { margin-bottom: 18px; }
#gc-pay-btn { margin-top: 4px; }
.gc-payerr {
  margin: 0 0 12px; padding: 10px 12px; border-radius: 8px;
  background: #fdf6f6; border: 1px solid #f1c9c9; color: #a93226; font-size: 13px;
}
.gc-payerr[hidden] { display: none; }
.gc-securenote { margin-top: 12px; text-align: center; }
.gc-paystate { padding: 8px 0 24px; }
.gc-paystate h2 { font-size: 22px; margin: 0 0 8px; }
.gc-paystate p { font-size: 15px; line-height: 1.6; color: var(--gray); margin: 0 0 18px; max-width: 560px; }
.gc-total b { font-size: 20px; }
.gc-done-head .btn { margin-top: 14px; }

@media (max-width: 700px) {
  .gc-payform { padding: 16px; }
  .gc-paybox { padding: 14px; }
}

/* The fixed side dock (Messenger / AI Mode / Image search) sits at x:1349-1425 and covered
   the right 36px of the "Place order" and "Pay" buttons at 1440px. Checkout is a focused
   flow - hide the floating chrome across cart, checkout, payment and confirmation, the same
   way seller-ai.css hides it on the seller pages. */
body:has(.gc-page) .side-dock { display: none; }

/* ---------------------------------------------------------------- reference-parity checkout
   Matches the mobile checkout in the 2026-09-19 17:29 recording: secure header, stacked
   white blocks on a grey canvas, item cards with the variant chip on the photo, a payment
   radio list, full summary and a sticky total + action bar on phones. */
.gc-checkout { background: transparent; }
.gc-head { padding: 28px 0 18px; }
.gc-head h1 { font-size: 30px; margin: 0 0 6px; }
.gc-secure { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--green); margin: 0; }
.gc-secure .icon { width: 15px; height: 15px; }

.gc-block { border: 1px solid var(--line); border-radius: 12px; padding: 18px; background: #fff; margin-bottom: 14px; }
.gc-block > h2 { font-size: 17px; margin: 0 0 14px; }

.gc-delivery-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.gc-delivery-head b { font-size: 15px; }
.gc-delivery-head span { font-size: 12px; color: var(--violet); font-weight: 600; }
.gc-delivery small { font-size: 13px; line-height: 1.55; color: var(--gray); display: block; }

/* Item card: photo with the variant chip overlaid bottom-left, like the reference marketplace’s. */
.gc-item { display: grid; grid-template-columns: 84px 1fr auto; gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--line); }
.gc-item:last-of-type { border-bottom: 0; }
.gc-item-photo { position: relative; display: block; border-radius: 10px; overflow: hidden; background: var(--canvas); }
.gc-item-photo img { width: 84px; height: 84px; object-fit: cover; }
.gc-item-photo em {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 4px 6px; font-style: normal;
  font-size: 10px; line-height: 1.25; color: #fff; background: rgba(9,9,11,.62);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gc-item-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.gc-item-copy b { font-size: 14px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gc-item-copy small { font-size: 12px; color: var(--muted); }
.gc-item-price { font-size: 15px; font-weight: 650; margin-top: 3px; }
.gc-item-qty { font-size: 13px; color: var(--gray); white-space: nowrap; }
.gc-note-field { margin-top: 14px; }

/* Payment method radio rows. */
.gc-pm { display: grid; grid-template-columns: 20px 46px 1fr; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.gc-pm:last-of-type { border-bottom: 0; }
.gc-pm input { width: 18px; height: 18px; accent-color: var(--violet); margin: 0; }
.gc-pm-ico { display: flex; align-items: center; justify-content: center; height: 30px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.gc-pm-ico img { max-width: 34px; max-height: 20px; object-fit: contain; }
.gc-pm-bank .icon { width: 18px; height: 18px; color: var(--gray); }
.gc-pm-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.gc-pm-copy b { font-size: 14px; }
.gc-pm-copy small { font-size: 12px; color: var(--muted); }
.gc-pm-brands { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.gc-pm-brands img { height: 15px; width: auto; }
.gc-paysec .gc-paybox { border: 0; padding: 0; }
.gc-paysec .gc-pay { margin-top: 12px; font-size: 12px; color: var(--muted); }

/* Order protection block. */
.gc-protect { border: 1px solid var(--line); border-radius: 12px; padding: 18px; background: #fff; }
.gc-protect > h2 { font-size: 17px; margin: 0 0 4px; display: flex; align-items: center; justify-content: space-between; }
.gc-protect-more .icon { width: 18px; height: 18px; color: var(--muted); }
.gc-protect-sub { font-size: 13px; color: var(--gray); margin: 0 0 14px; }
.gc-protect-row { display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 10px 0; align-items: start; }
.gc-protect-row .icon { width: 20px; height: 20px; color: var(--green); margin-top: 2px; }
.gc-protect-row span { display: flex; flex-direction: column; gap: 3px; }
.gc-protect-row b { font-size: 14px; }
.gc-protect-row small { font-size: 12.5px; line-height: 1.55; color: var(--gray); }

/* Summary rows. */
.gc-row-soft i { font-style: normal; font-size: 12px; color: var(--muted); }
.gc-sum .gc-total { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 12px; }
.gc-sum .gc-total b { font-size: 20px; }
.gc-sum .btn .icon { width: 16px; height: 16px; }

/* Sticky pay bar - phones only; desktop keeps the action in the summary panel. */
.gc-stickybar { display: none; }
@media (max-width: 900px) {
  .gc-stickybar {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    /* The mobile .tabbar is fixed and 55px tall; sit above it or it buries the pay button. */
    /* No negative margin: .gc-checkout is already full-bleed, so -16px pushed the bar past
       both screen edges and cancelled this padding - the total sat at x:0 and the button
       ended exactly on the right edge with no gutter. */
    position: sticky; bottom: 55px; z-index: 30; margin: 0; padding: 12px 16px;
    background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -4px 18px rgba(16,14,48,.08);
  }
  .gc-sticky-total { display: flex; flex-direction: column; line-height: 1.2; }
  .gc-sticky-total small { font-size: 11px; color: var(--muted); }
  .gc-sticky-total b { font-size: 19px; }
  .gc-stickybar .btn { flex: 0 0 auto; padding-left: 22px; padding-right: 22px; }
  .gc-sum > .btn[data-gc-place] { display: none; }
  .gc-head h1 { font-size: 25px; }
  .gc-block, .gc-protect { padding: 15px; }
  .gc-item { grid-template-columns: 72px 1fr; }
  .gc-item-photo img { width: 72px; height: 72px; }
  .gc-item-qty { grid-column: 2; font-size: 12px; }
}

/* ---------------------------------------------------------------- the reference marketplace visual system
   The structural gap was the canvas: the reference marketplace’s checkout is a GREY page with full-bleed
   WHITE bands separated by grey gutters, dense rows and small type. Ours was a white page
   of rounded bordered cards with wide padding, which reads as a generic store checkout.
   Frames: scratchpad/mco/m008.png, m020.png.

   On desktop the bands stay inside the centred column (the reference marketplace’s desktop checkout is a
   centred column too); the full-bleed treatment is mobile-only, where it is the signature
   of the layout. Bleeding is done with the 100vw technique rather than hand-computed
   negative margins, which silently break whenever the .wrap gutter changes. */
.gc-checkout { background: #f2f3f7; }
.gc-checkout .gc-head,
.gc-checkout .gc-block,
.gc-checkout .gc-protect,
.gc-checkout .gc-sum { background: #fff; }

.gc-checkout .gc-head { border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin-bottom: 10px; }
.gc-checkout .gc-head h1 { font-size: 22px; letter-spacing: -.02em; }
.gc-checkout .gc-secure { font-size: 12px; }

.gc-checkout .gc-block,
.gc-checkout .gc-protect { border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin-bottom: 10px; }
.gc-checkout .gc-block > h2,
.gc-checkout .gc-protect > h2 { font-size: 16px; margin-bottom: 10px; letter-spacing: -.01em; }

/* Dense form rows: 12px label over a 40px field, 10px gaps - not the airy 56px stack. */
.gc-checkout .gc-field { margin-bottom: 10px; }
.gc-checkout .gc-field > span { font-size: 12px; color: var(--gray); margin-bottom: 4px; display: block; }
.gc-checkout .gc-field input,
.gc-checkout .gc-field select { height: 40px; font-size: 14px; }
.gc-checkout .gc-field textarea { font-size: 14px; }

/* Item row on its own grey tile, like the reference marketplace’s. */
.gc-checkout .gc-item { background: #f5f6fa; border: 0; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.gc-checkout .gc-item:last-of-type { margin-bottom: 0; }

.gc-checkout .gc-pm { padding: 11px 0; }
.gc-checkout .gc-protect-row { padding: 8px 0; }
.gc-checkout .gc-protect-row small { font-size: 12px; }

.gc-checkout .gc-sum { border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px 20px; }
.gc-checkout .gc-sum > h2 { font-size: 16px; }
.gc-checkout .gc-row { font-size: 14px; padding: 7px 0; }

@media (max-width: 900px) {
  /* Full-bleed white bands on a grey canvas - the the reference marketplace signature. */
  .gc-checkout .gc-head,
  .gc-checkout .gc-block,
  .gc-checkout .gc-protect,
  .gc-checkout .gc-sum {
    /* mobile-navigation.css:435 caps header/main at max-width:100%, which beats width:100vw
       and left .gc-head 32px short of the edge while the other bands bled correctly. */
    width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
    border-left: 0; border-right: 0; border-radius: 0; padding-left: 16px; padding-right: 16px;
    margin-bottom: 10px;
  }
  .gc-checkout .gc-head { border-top: 0; padding-top: 14px; padding-bottom: 12px; }
  .gc-checkout .gc-head h1 { font-size: 20px; }
}

/* Stripped checkout chrome + icon headings + boxed payment selection + summary card that
   carries the protection guarantees, matching the reference marketplace's desktop checkout. */
.gc-chrome { background: #fff; border-bottom: 1px solid var(--line); }
.gc-chrome-in { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.gc-chrome .brand { display: flex; align-items: center; gap: 10px; }
.gc-chrome .brand img { width: 118px; height: auto; object-fit: contain; }
.gc-chrome .brand span { font-size: 21px; font-weight: 600; border-left: 1px solid var(--line); padding-left: 12px; }
.gc-chrome-secure { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--green); }
.gc-chrome-secure .icon { width: 15px; height: 15px; }

.gc-checkout .gc-block > h2,
.gc-checkout .gc-protect > h2 { display: flex; align-items: center; gap: 9px; }
.gc-checkout .gc-block > h2 > .icon { width: 19px; height: 19px; color: var(--ink); flex-shrink: 0; }

/* Selected method sits in its own bordered box; the rest are plain rows. */
.gc-pm.is-on { border: 1.5px solid var(--ink); border-radius: 10px; padding: 13px 14px; margin-bottom: 6px; }
.gc-pm:has(input:checked) { border: 1.5px solid var(--ink); border-radius: 10px; padding: 13px 14px; margin-bottom: 6px; }
.gc-pm:has(input:checked) + .gc-pm { border-top: 0; }

/* Summary card sticks while the left column scrolls, and carries the guarantees. */
.gc-checkout .gc-sum .gc-protect { border: 0; padding: 16px 0 0; margin: 14px 0 0; border-top: 1px solid var(--line); }
.gc-checkout .gc-sum .gc-protect > h2 { font-size: 15px; }
@media (min-width: 901px) {
  .gc-checkout .gc-sum { position: sticky; top: 16px; align-self: start; }
}
@media (max-width: 900px) {
  .gc-chrome-in { height: 54px; }
  .gc-chrome .brand img { width: 96px; }
  .gc-chrome .brand span { font-size: 18px; }
  .gc-checkout .gc-sum .gc-protect { width: auto; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
}

/* Confirmed shipping address collapses to three compact lines with a Change link, the way
   the reference marketplace’s does, instead of a full form owning the top of the page. */
.gc-addr > h2 { justify-content: flex-start; }
.gc-addr-change {
  margin-left: auto; font-size: 13px; font-weight: 550; color: var(--violet);
  text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0;
}
.gc-addr-change[hidden] { display: none; }
.gc-addr-summary[hidden], .gc-addr-form[hidden] { display: none; }
.gc-addr-who { display: flex; align-items: baseline; gap: 14px; margin: 0 0 4px; }
.gc-addr-who b { font-size: 14px; color: var(--ink); }
.gc-addr-who span { font-size: 13px; color: var(--gray); }
.gc-addr-line { font-size: 14px; line-height: 1.5; color: var(--ink); margin: 0 0 3px; }
.gc-addr-mail { font-size: 13px; color: var(--muted); margin: 0; }
.gc-addr-save { margin-top: 4px; }

/* The grey canvas was only as wide as .wrap (16px short each side), so the gutters between
   the white bands showed white slivers at the edges. Bleed the canvas itself; max-width:none
   is needed because mobile-navigation.css:435 caps `main` at 100%. */
@media (max-width: 900px) {
  .gc-checkout {
    width: 100vw; max-width: none;
    margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
    padding-left: 0; padding-right: 0;
  }
}

/* Desktop: logo + "Secure checkout". Mobile: back arrow + title + support, with the secure
   line under it - one white header, no grey band and no second title band (the grey strip
   between the logo bar and the "Check out" band was the boxy look the reference marketplace doesn't have). */
.gc-back, .gc-chrome-title, .gc-support, .gc-chrome-secureline { display: none; }
@media (max-width: 900px) {
  .gc-chrome .brand, .gc-chrome-secure { display: none; }
  .gc-back, .gc-support { display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; background: none; border: 0; padding: 0; color: var(--ink); }
  .gc-back .icon, .gc-support .icon { width: 22px; height: 22px; }
  .gc-chrome-title { display: block; flex: 1; font-size: 18px; font-weight: 650;
    letter-spacing: -.02em; font-family: var(--display); }
  .gc-chrome-in { gap: 8px; height: 48px; }
  .gc-chrome-secureline { display: flex; align-items: center; gap: 6px; margin: 0;
    padding: 0 16px 10px; font-size: 12px; color: var(--green); }
  .gc-chrome-secureline .icon { width: 14px; height: 14px; }
  /* The page's own title band is redundant now, and it was the grey-boxed strip. */
  .gc-checkout .gc-head { display: none; }
  .gc-checkout { padding-top: 0; }
  .gc-checkout .gc-block:first-of-type,
  .gc-checkout .gc-addr { margin-top: 0; }
}

/* Desktop is WHITE with hairline dividers - no grey canvas, no card borders, no radius.
   the reference marketplace only boxes two things: the order-summary panel and the selected payment method.
   The grey-band treatment stays on mobile, where it IS their look. */
@media (min-width: 901px) {
  .gc-checkout { background: #fff; }
  .gc-checkout .gc-head { border: 0; border-radius: 0; padding: 26px 0 16px; margin: 0; }
  .gc-checkout .gc-head h1 { font-size: 30px; }
  .gc-checkout .gc-block {
    border: 0; border-top: 1px solid var(--line); border-radius: 0;
    padding: 22px 0; margin: 0; background: transparent;
  }
  .gc-checkout .gc-block:first-of-type { border-top: 1px solid var(--line); }
  .gc-checkout .gc-block > h2 { font-size: 17px; margin-bottom: 16px; }
  .gc-checkout .gc-item { background: #f7f8fa; }
  /* Only the summary stays a card. */
  .gc-checkout .gc-sum { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
}
.gc-deliver-note { font-size: 13px; line-height: 1.55; color: var(--gray); margin: 0 0 14px; }
.gc-deliver-note b { color: var(--ink); }

/* "Sold by" grouping + the bordered delivery strip the reference marketplace puts above the lines. */
.gc-soldby { font-size: 13px; color: var(--gray); margin: 0 0 10px; }
.gc-soldby b { color: var(--ink); font-weight: 650; }
.gc-deliver-strip {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  border: 1px solid var(--line); border-radius: 8px; padding: 11px 14px; margin-bottom: 12px;
}
.gc-deliver-strip b { font-size: 13.5px; }
.gc-deliver-strip span { font-size: 12.5px; color: var(--muted); }
/* Centred "More options" affordance under the payment list, like the reference marketplace’s. */
.gc-paysec .gc-pay { text-align: center; }
/* No paypal.svg ships with the repo; a text badge beats a broken image. */
.gc-pm-text { font-size: 10px; font-weight: 700; color: #253b80; letter-spacing: -.02em; }
/* A price-on-request order has no agreed total; say so instead of showing "$0.00". */
.gc-sticky-total i { font-style: normal; font-size: 13px; font-weight: 600; color: var(--violet); }
.gc-total i { font-style: normal; font-size: 13px; color: var(--violet); font-weight: 600; }
/* Minimum-order line, always visible like the reference marketplace’s "Min. order: 1.0 piece". */
.gc-moq { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.gc-qty button[disabled] { opacity: .35; cursor: not-allowed; }

/* round 2 (2026-10-01): priced subtotal + "+ products with price to be confirmed" */
.gc-amt { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.gc-more { font-size: 12px; font-weight: 600; color: var(--violet); }
.gc-sticky-total .gc-more { font-size: 11px; }
