/* ============================================================================
   VC Checkout V2 — slide-out cart drawer + Brooklinen-style checkout
   Brand tokens: VC Rebrand V2 "Warm Edition" (vc_brand_system_v2.html)
   ========================================================================== */
/* body.woocommerce-cart added here (2026-08-27): these tokens were only ever
   scoped to checkout's own form (.vcco-form) and the cart-drawer overlay
   (.vcco-drawer-root) — the CART PAGE itself was never in scope. Every rule
   under vcco-sum and vcco-trow that references one of these variables
   silently fell back to CSS's own initial/inherited value there instead of
   the real brand color: transparent background on the quantity badge (it
   was rendering with no fill at all, an invisible number), and no border on
   vcco-trow-total (the Total row's divider was 0px none, not just faint).
   Confirmed via getComputedStyle().getPropertyValue('--vc-navy') returning
   an empty string on the cart page. */
.vcco-drawer-root,
.vcco-form,
body.woocommerce-cart {
  --vc-sage:#8B9D6E; --vc-sage-deep:#5E6F47; --vc-sage-tint:#D4DCB9; --vc-sage-whisper:#EDF0DE;
  --vc-cream:#F8F2E6; --vc-stone:#E9DFC9; --vc-sand:#C9B894;
  --vc-clay:#B8765C; --vc-clay-tint:#EBD0BF;
  --vc-navy:#2A3340; --vc-navy-deep:#1B2330;
  --vc-ink:#2A2825; --vc-slate:#5C5A55; --vc-mist:#A19E97;
  --vc-border:#E3DDD0;
  --vc-display:'Playfair Display',Georgia,serif;
  --vc-body:'DM Sans',system-ui,-apple-system,sans-serif;
  --vc-r:14px;
}

/* ============================== CART DRAWER ============================== */
.vcco-drawer-root{position:fixed;inset:0;z-index:99999;pointer-events:none;visibility:hidden}
.vcco-drawer-root.is-open{pointer-events:auto;visibility:visible}
.vcco-scrim{position:absolute;inset:0;background:rgba(27,35,48,.42);opacity:0;transition:opacity .3s ease}
.vcco-drawer-root.is-open .vcco-scrim{opacity:1}
.vcco-drawer{
  position:absolute;top:0;right:0;height:100%;width:min(440px,100vw);
  background:var(--vc-cream);box-shadow:-16px 0 48px rgba(42,40,37,.16);
  transform:translateX(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;font-family:var(--vc-body);color:var(--vc-ink);
}
.vcco-drawer-root.is-open .vcco-drawer{transform:translateX(0)}
.vcco-drawer-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}

.vcco-dhead{display:flex;align-items:center;justify-content:space-between;padding:26px 26px 14px;flex:0 0 auto}
.vcco-dtitle{font-family:var(--vc-display);font-size:30px;line-height:1.1;margin:0;color:var(--vc-navy-deep);font-weight:700}
.vcco-x{background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--vc-ink);padding:0 4px;opacity:.75}
.vcco-x:hover{opacity:1}

.vcco-perks{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:6px 26px 0;flex:0 0 auto}
.vcco-perk{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12.5px;color:var(--vc-slate);
  padding-bottom:12px;border-bottom:2px solid var(--vc-border);text-align:center}
.vcco-perk.is-on{color:var(--vc-sage-deep);border-bottom-color:var(--vc-sand)}
.vcco-tick{width:26px;height:26px;border-radius:50%;background:var(--vc-sand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px}
.vcco-perk.is-on .vcco-tick{background:var(--vc-sage)}
.vcco-perks-note{margin:12px 26px 0;text-align:center;font-size:12.5px;color:var(--vc-slate);flex:0 0 auto}

.vcco-note{display:flex;gap:11px;align-items:flex-start;margin:16px 26px 0;padding:13px 15px;
  background:var(--vc-sage-whisper);border-radius:10px;font-size:13px;color:var(--vc-sage-deep);flex:0 0 auto}
.vcco-note-ico{font-size:15px;line-height:1.3}

.vcco-lines{list-style:none;margin:6px 0 0;padding:0 26px;overflow-y:auto;flex:1 1 auto;min-height:0}
.vcco-line{display:flex;gap:15px;padding:22px 0;border-bottom:1px solid var(--vc-border)}
.vcco-thumb{flex:0 0 84px;width:84px;height:96px;background:var(--vc-stone);border-radius:8px;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.vcco-thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.vcco-body{flex:1 1 auto;min-width:0}
.vcco-name{margin:0 0 4px;font-size:14.5px;font-weight:600;line-height:1.35;color:var(--vc-navy-deep)}
.vcco-name a{color:inherit;text-decoration:none}
.vcco-name a:hover{text-decoration:underline}
.vcco-meta{margin:0 0 6px;font-size:12.5px;color:var(--vc-slate);line-height:1.5;white-space:pre-line}
.vcco-meta p{margin:0}
.vcco-price{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--vc-ink)}
.vcco-lfoot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vcco-remove{background:none;border:0;padding:0;font-size:12.5px;color:var(--vc-slate);
  text-decoration:underline;cursor:pointer;font-family:inherit}
.vcco-remove:hover{color:var(--vc-clay)}
.vcco-qty{font-size:12.5px;color:var(--vc-slate);display:flex;align-items:center;gap:7px}
.vcco-qty select{border:1px solid var(--vc-border);border-radius:999px;padding:5px 9px;
  background:#fff;font-family:inherit;font-size:13px;color:var(--vc-ink)}

.vcco-dfoot{flex:0 0 auto;padding:18px 26px 24px;border-top:1px solid var(--vc-border);background:var(--vc-cream)}
.vcco-sub{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;font-size:15px}
.vcco-sub strong{font-size:19px;color:var(--vc-navy-deep)}
.vcco-btn{display:block;width:100%;text-align:center;padding:17px 20px;border-radius:999px;
  font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;border:0;text-decoration:none;transition:background .18s}
.vcco-btn-primary{background:var(--vc-navy);color:#fff}
.vcco-btn-primary:hover{background:var(--vc-navy-deep);color:#fff}
.vcco-viewcart{display:block;text-align:center;margin-top:12px;font-size:13.5px;color:var(--vc-slate);text-decoration:underline}
.vcco-promo{margin:12px 0 0;text-align:center;font-size:12.5px;color:var(--vc-mist)}

.vcco-empty{padding:50px 26px;text-align:center;flex:1 1 auto}
.vcco-empty-t{font-family:var(--vc-display);font-size:21px;margin:0 0 8px;color:var(--vc-navy-deep)}
.vcco-empty-s{font-size:14px;color:var(--vc-slate);margin:0 0 24px}

.vcco-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  padding:0 5px;border-radius:999px;background:var(--vc-clay);color:#fff;font-size:11px;font-weight:700}

body.vcco-locked{overflow:hidden}

/* ================================ CHECKOUT ================================ */
.woocommerce-checkout .vcco-form{font-family:var(--vc-body);color:var(--vc-ink);max-width:1180px;margin:0 auto;padding:34px 20px 70px}
.vcco-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:34px;align-items:start}
.vcco-main{min-width:0}
.vcco-aside{min-width:0}
.vcco-aside-sticky{position:sticky;top:24px}

.vcco-card{background:#fff;border:1px solid var(--vc-border);border-radius:var(--vc-r);
  padding:24px 26px;margin-bottom:18px;box-shadow:0 1px 2px rgba(42,40,37,.04)}
.vcco-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px}
.vcco-card-h h3{font-family:var(--vc-display);font-size:21px;font-weight:700;margin:0;color:var(--vc-navy-deep)}
.vcco-link{font-size:13.5px;color:var(--vc-sage-deep);text-decoration:underline}
.vcco-sub-note{margin:-8px 0 16px;font-size:13px;color:var(--vc-slate)}


/* woo form fields → Brooklinen look */
.vcco-form .form-row{margin:0 0 14px;padding:0;display:block}
.vcco-form label{display:block;font-size:12.5px;color:var(--vc-slate);margin-bottom:6px;font-weight:500}
.vcco-form label .required{color:var(--vc-clay);border:0}
.vcco-form .input-text,
.vcco-form select,
.vcco-form textarea,
.vcco-form .select2-container .select2-selection--single{
  width:100%;border:1px solid var(--vc-border);border-radius:10px;background:#fff;
  padding:14px 15px;font-family:var(--vc-body);font-size:15px;color:var(--vc-ink);
  line-height:1.3;height:auto;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.vcco-form .input-text:focus,
.vcco-form select:focus,
.vcco-form textarea:focus{outline:0;border-color:var(--vc-sage);box-shadow:0 0 0 3px rgba(139,157,110,.16)}
.vcco-form .input-text::placeholder,
.vcco-form textarea::placeholder{color:var(--vc-mist)}
.vcco-form textarea{min-height:96px;resize:vertical}
.vcco-form .select2-container--default .select2-selection--single{height:50px;display:flex;align-items:center}
.vcco-form .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;color:var(--vc-ink);line-height:1.3}
.vcco-form .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px;right:10px}

/* two-up rows */
.vcco-form .form-row-first,.vcco-form .form-row-last{width:calc(50% - 7px);display:inline-block;vertical-align:top}
.vcco-form .form-row-first{margin-right:12px}

.vcco-form .woocommerce-billing-fields h3,
.vcco-form .woocommerce-shipping-fields h3,
.vcco-form .woocommerce-additional-fields h3{font-family:var(--vc-display);font-size:17px;color:var(--vc-navy-deep);
  margin:22px 0 14px;font-weight:700}
.vcco-form #ship-to-different-address{margin:4px 0 12px}
.vcco-form #ship-to-different-address label{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--vc-ink);font-weight:500;cursor:pointer}
.vcco-form input[type=checkbox],.vcco-form input[type=radio]{accent-color:var(--vc-sage-deep);width:17px;height:17px}

/* shipping method block */
.vcco-form .woocommerce-shipping-totals,
.vcco-form #shipping_method{list-style:none;margin:0;padding:0}
.vcco-form #shipping_method li{padding:12px 14px;border:1px solid var(--vc-border);border-radius:10px;margin-bottom:8px}

/* payment box */
.vcco-form #payment{background:transparent;border-radius:0;padding:0}
.vcco-form #payment ul.payment_methods{list-style:none;margin:0;padding:0;border:0}
.vcco-form #payment ul.payment_methods > li{border:1px solid var(--vc-border);border-radius:10px;
  margin-bottom:10px;padding:15px 16px;background:#fff;transition:border-color .15s,background .15s}
.vcco-form #payment ul.payment_methods > li:has(input:checked){border-color:var(--vc-sage);background:var(--vc-sage-whisper)}
.vcco-form #payment ul.payment_methods > li label{display:inline-flex;align-items:center;gap:10px;
  font-size:14.5px;font-weight:600;color:var(--vc-ink);margin:0}
.vcco-form #payment ul.payment_methods > li img{max-height:24px;width:auto;display:inline-block;margin-left:6px}
.vcco-form #payment div.payment_box{background:transparent;margin:14px 0 0;padding:0;font-size:14px;color:var(--vc-slate)}
.vcco-form #payment div.payment_box::before{display:none}
.vcco-form .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--vc-mist);margin:16px 0 0}
.vcco-form .woocommerce-privacy-policy-text p{margin:0}

/* terms + place order */
.vcco-form .shipping-addons,
.vcco-form .woocommerce-terms-and-conditions-wrapper{margin-top:16px;font-size:13.5px;color:var(--vc-slate)}
.vcco-form #place_order{width:100%;background:var(--vc-navy);color:#fff;border:0;border-radius:999px;
  padding:18px 20px;font-family:var(--vc-body);font-size:16px;font-weight:600;cursor:pointer;
  margin-top:18px;transition:background .18s;float:none}
.vcco-form #place_order:hover{background:var(--vc-navy-deep)}

/* ── order summary (right rail) ── */
/* Was --vc-cream: made the Order summary card read as a different, dimmer
   surface than every other checkout card (Contact/Delivery/Payment, all
   plain white .vcco-card) — and once Delivery Location/Additional Services
   moved inside this same card, their own white sub-boxes (#checkout-radio/
   #checkout-checkbox) ended up looking like separate white islands floating
   in a cream card instead of just being part of one consistent white
   "bubble", which is what was actually wanted. */
.vcco-summary{background:#fff}
.vcco-sum-lines{margin-bottom:18px}
.vcco-sum-line{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--vc-border)}
.vcco-sum-line:last-child{border-bottom:0}
/* overflow:hidden removed on purpose: it was clipping .vcco-sum-badge (the
   qty pill), which is deliberately positioned half outside this box's own
   corner (top:-8px;right:-8px) so it reads as a badge sitting ON the photo
   corner. With overflow:hidden on the same element, only the sliver of the
   badge that happened to fall inside the box survived — the rest (including
   most of the actual number) was clipped away, leaving what looked like an
   unreadable dark smudge instead of a legible quantity. Rounding the image
   itself (not the container) keeps the same visual containment without
   clipping anything positioned outside the box. */
.vcco-sum-thumb{position:relative;flex:0 0 140px;width:140px;height:140px;background:#fff;
  border:1px solid var(--vc-border);border-radius:10px;display:flex;align-items:center;justify-content:center}
.vcco-sum-thumb img{max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;border-radius:6px}
.vcco-sum-badge{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;
  border-radius:999px;background:var(--vc-navy);color:#fff;font-size:12px;font-weight:700;
  display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.18);z-index:1}
.vcco-sum-info{flex:1 1 auto;min-width:0}
.vcco-sum-name{margin:0 0 3px;font-size:13.5px;font-weight:600;line-height:1.35;color:var(--vc-navy-deep)}
.vcco-sum-meta{margin:0;font-size:12px;color:var(--vc-slate);line-height:1.5;white-space:pre-line}
.vcco-sum-meta p{margin:0}
/* Real <dl class="variation"> (both pages now use wc_get_formatted_cart_item_data()
   without the "flat" flag — see review-order.php/cart.php): bold label on
   its own line, value below, at any width. WooCommerce's own dd markup
   leaves a trailing whitespace text node after the value's <p> — mixing
   that stray inline text with the <p>'s block box forces the browser to
   wrap the whitespace in its own anonymous block, which still takes a full
   line-height's worth of height despite having no visible content. Zeroing
   dd's line-height collapses that phantom line to 0px; the real value's <p>
   sets its own line-height back to normal, unaffected. Confirmed via direct
   DOM measurement: dd was rendering 36px tall (18px phantom + 18px text)
   for a single line of text, which is what read as "wayyyy too much"
   vertical space between entries.
   WooCommerce's raw output also has a whitespace-only text node between
   EVERY tag inside the dl (before the first dt, between dt and dd, between
   dd and the next dt) — not just the one after each dd's <p> handled above.
   Forcing dt to display:block/float:none (an earlier attempt) fixed the
   gap between pairs but broke dt sitting flush against its own dd, because
   it removed the float that had been absorbing the whitespace directly
   between THAT dt/dd pair — trading one phantom gap for another. Zeroing
   line-height on the <dl> itself collapses every one of those inter-sibling
   whitespace nodes at once, while dt/dt still declare their own line-height
   explicitly so the actual visible text is unaffected. WooCommerce's own
   higher-specificity margin/float rules are still overridden with
   !important where they'd otherwise reintroduce spacing. */
.vcco-sum-meta dl.variation{margin:0 !important;line-height:0}
.vcco-sum-meta dl.variation dt{margin:0 !important;line-height:1.4;
  font-weight:600;color:var(--vc-slate)}
.vcco-sum-meta dl.variation dd{margin:0 0 4px !important;line-height:0;clear:left !important}
.vcco-sum-meta dl.variation dd:last-child{margin-bottom:0 !important}
.vcco-sum-meta dl.variation dd p{margin:0;line-height:1.5}
.vcco-sum-meta-details{margin-top:2px}
.vcco-sum-meta-toggle{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  padding:5px 0;font-size:12px;font-weight:600;color:var(--vc-navy);user-select:none}
.vcco-sum-meta-toggle::-webkit-details-marker{display:none}
.vcco-sum-meta-toggle::before{content:"+";flex:0 0 16px;width:16px;height:16px;border-radius:4px;
  border:1px solid var(--vc-border);display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;line-height:1;transition:transform .15s ease}
.vcco-sum-meta-details[open] .vcco-sum-meta-toggle::before{transform:rotate(45deg)}
.vcco-sum-meta-details .vcco-sum-meta{margin-top:6px}
@media (max-width:600px){.vcco-sum-meta-toggle{padding:8px 0}}
.vcco-sum-price{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--vc-ink)}
.vcco-sum-price-row{display:flex;align-items:center;gap:12px;margin-top:6px}
.vcco-sum-price-row .vcco-sum-price{margin:0}

.vcco-discount{display:flex;gap:9px;margin:4px 0 14px}
.vcco-discount-in{flex:1 1 auto;border:1px solid var(--vc-border);border-radius:10px;background:#fff;
  padding:13px 14px;font-family:var(--vc-body);font-size:14px;color:var(--vc-ink)}
.vcco-discount-in:focus{outline:0;border-color:var(--vc-sage);box-shadow:0 0 0 3px rgba(139,157,110,.16)}
.vcco-discount-btn{flex:0 0 auto;padding:0 22px;border:0;border-radius:10px;background:var(--vc-stone);
  color:var(--vc-ink);font-family:var(--vc-body);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.vcco-discount-btn:hover{background:var(--vc-sand)}
.vcco-coupon-msg{font-size:12.5px;margin:-8px 0 12px;color:var(--vc-clay)}
.vcco-coupon-msg.is-ok{color:var(--vc-sage-deep)}

.vcco-totals{border-top:1px solid var(--vc-border);padding-top:15px}
.vcco-trow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:10px;
  font-size:14px;color:var(--vc-slate)}
.vcco-trow span:last-child{color:var(--vc-ink);font-weight:600}
.vcco-trow-disc span:last-child{color:var(--vc-sage-deep)}
.vcco-trow-total{border-top:1px solid var(--vc-border);padding-top:14px;margin-top:14px;
  font-size:16px;color:var(--vc-navy-deep);font-weight:700}
.vcco-trow-total span:last-child{font-size:22px;font-family:var(--vc-display);font-variant-numeric:lining-nums}
.vcco-totals .woocommerce-shipping-totals th,
.vcco-totals .woocommerce-shipping-totals td{padding:0;border:0;font-size:14px}
.vcco-totals ul{list-style:none;margin:0;padding:0}

.vcco-trust{display:grid;gap:11px;padding:18px 22px;background:var(--vc-sage-whisper);
  border-radius:var(--vc-r);border:1px solid var(--vc-border)}
.vcco-trust-i{display:flex;flex-direction:column;gap:1px}
.vcco-trust-i strong{font-size:13.5px;color:var(--vc-navy-deep)}
.vcco-trust-i span{font-size:12.5px;color:var(--vc-slate)}

/* hide the legacy coupon toggle — discount now lives in the summary */
.woocommerce-checkout .woocommerce-form-coupon-toggle{display:none}
.woocommerce-checkout form.checkout_coupon{display:none !important}

/* ── responsive ── */
@media (max-width:1040px){
  .vcco-grid{grid-template-columns:1fr;gap:22px}
  .vcco-aside{order:-1}
  .vcco-aside-sticky{position:static}
}
@media (max-width:600px){
  .woocommerce-checkout .vcco-form{padding:20px 14px 54px}
  .vcco-card{padding:20px 17px;border-radius:12px}
  .vcco-form .form-row-first,.vcco-form .form-row-last{width:100%;margin-right:0;display:block}
  .vcco-drawer{width:100vw}
  .vcco-dtitle{font-size:25px}
  .vcco-lines{padding:0 18px}
  .vcco-dhead,.vcco-dfoot{padding-left:18px;padding-right:18px}
  .vcco-perks,.vcco-perks-note,.vcco-note{margin-left:18px;margin-right:18px;padding-left:0;padding-right:0}
}

/* Shipping & fulfillment — now rendered by functions.php directly inside
   review-order.php (woocommerce_review_order_after_cart_contents), so it
   lives inside the Order summary card itself, between the item list and
   the discount/totals block, and survives the AJAX re-render of #order_review. */
/* Unscoped (not ".vcco-summary .vcco-eyebrow") on purpose: the cart page's
   own delivery/services card (vc-cart-shipping-selector.php) reuses these
   same two classes so cart and checkout render identical typography for
   this section, per direct request to keep them visually matched. */
.vcco-eyebrow{
  margin:20px 0 2px;padding-top:18px;border-top:1px solid var(--vc-border);
  font-family:var(--vc-body);font-size:11.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--vc-sage-deep)}
/* "Shipping & fulfillment" upgraded from a small eyebrow label to a full
   heading matching .vcco-card-h h3 exactly (same font/size/weight/color as
   "Order summary" above it, and as cart's own "Shipping & fulfillment" h3)
   — the eyebrow read as noticeably weaker than every other section title
   on the page. border-top+margin-top (moved here from .vcco-eyebrow) still
   separates this from the item list above it. */
.vcco-fulfil-title{
  font-family:var(--vc-display);font-size:21px;font-weight:700;color:var(--vc-navy-deep);
  margin:20px 0 14px;padding-top:20px;border-top:1px solid var(--vc-border)}
.vcco-fulfil-h{
  font-family:var(--vc-display);font-size:16px;font-weight:700;color:var(--vc-navy-deep);margin:8px 0 10px}
.vcco-summary #checkout-radio,
.vcco-summary #checkout-checkbox{
  border:1px solid var(--vc-border) !important;border-radius:10px;background:#fff;
  padding:12px 14px !important;margin:0 0 12px !important;font-size:13.5px}
/* functions.php wraps the checkbox group's actual content in its own inner
   div with an inline margin-left:-26px (a legacy pull-left hack from
   before this box had any padding of its own) — left uncancelled, it pulls
   every checkbox+label 26px further left than the radio group above it
   gets, which is exactly the "additional services is off to the left,
   doesn't line up with delivery location" mismatch. Zeroing it here (not
   editing functions.php, which has two separate copies of this same
   inline style in two different code paths) makes both boxes align on the
   same left edge regardless of which path rendered. */
.vcco-summary #checkout-checkbox > div[style*="margin-left:-26px"]{
  margin-left:0 !important;margin-right:0 !important}
.vcco-summary #checkout-radio + p,
.vcco-summary #checkout-checkbox ~ div{font-size:13px;color:var(--vc-slate);line-height:1.5;margin:0 0 12px}
.vcco-summary #checkout-radio + p strong{color:var(--vc-ink)}

/* ---- defensive: the theme colours bare <span> cream in some scopes ---- */
.vcco-drawer .vcco-sub span,
.vcco-drawer .vcco-sub{color:var(--vc-ink)}
.vcco-drawer .vcco-sub strong,
.vcco-drawer .vcco-sub strong span{color:var(--vc-navy-deep)}
.vcco-drawer .vcco-perk span,
.vcco-drawer .vcco-note span{color:inherit}
.vcco-drawer .vcco-price span,
.vcco-drawer .vcco-name span,
.vcco-drawer .vcco-meta span{color:inherit}
.vcco-form .vcco-trow span,
.vcco-form .vcco-sum-price span,
.vcco-form .vcco-sum-name span{color:inherit}
.vcco-form .vcco-trow-total span:last-child,
.vcco-form .vcco-trow-total span:last-child span{color:var(--vc-navy-deep)}

/* header cart icon badge */
a.util-icon .vcco-count{position:absolute;top:-6px;right:-8px}

/* ── Vending Concepts Financing (replaces Brooklinen's Afterpay slot) ── */
.vcco-fin{display:flex;align-items:center;gap:16px;text-decoration:none;
  background:var(--vc-sage-whisper);border:1px solid var(--vc-sand);border-radius:10px;
  padding:15px 16px;margin:2px 0 4px;transition:border-color .15s,box-shadow .15s}
.vcco-fin:hover{border-color:var(--vc-sage);box-shadow:0 4px 20px rgba(42,40,37,.06)}
.vcco-fin-mark{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--vc-sage-deep);
  color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--vc-display);
  font-size:15px;font-weight:700;letter-spacing:.5px}
.vcco-fin-body{flex:1 1 auto;min-width:0;display:block}
.vcco-fin-t{display:block;font-size:15px;font-weight:600;color:var(--vc-navy-deep);margin-bottom:3px}
.vcco-fin-s{display:block;font-size:13px;color:var(--vc-slate);line-height:1.5}
.vcco-fin-s strong,.vcco-fin-s strong span{color:var(--vc-sage-deep)}
.vcco-fin-go{flex:0 0 auto;font-size:20px;color:var(--vc-sage-deep)}
@media (max-width:600px){.vcco-fin{gap:12px}.vcco-fin-mark{width:36px;height:36px;font-size:13px}}

/* ── Mobile-only order total, repeated just above Place order ── */
.vcco-mobile-total{display:none}
@media (max-width:768px){
  .vcco-mobile-total{display:flex;justify-content:space-between;align-items:baseline;
    padding:14px 16px;margin:0 0 14px;background:#fff;border:1px solid var(--vc-border);
    border-radius:10px}
  .vcco-mobile-total span:first-child{font-size:14px;font-weight:600;color:var(--vc-navy-deep)}
  .vcco-mobile-total span:last-child{font-size:19px;font-weight:700;color:var(--vc-ink);
    font-variant-numeric:lining-nums}
}
