/* ============================================================================
   VC Checkout V2 — slide-out cart drawer + Brooklinen-style checkout
   Brand tokens: VC Rebrand V2 "Warm Edition" (vc_brand_system_v2.html)
   ========================================================================== */
.vcco-drawer-root,
.vcco-form {
  --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}
.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) ── */
.vcco-summary{background:var(--vc-cream)}
.vcco-sum-lines{margin-bottom:18px}
.vcco-sum-line{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid var(--vc-border)}
.vcco-sum-line:last-child{border-bottom:0}
.vcco-sum-thumb{position:relative;flex:0 0 62px;width:62px;height:62px;background:#fff;
  border:1px solid var(--vc-border);border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vcco-sum-thumb img{max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.vcco-sum-badge{position:absolute;top:-8px;right:-8px;min-width:21px;height:21px;padding:0 6px;
  border-radius:999px;background:var(--vc-navy);color:#fff;font-size:11.5px;font-weight:700;
  display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.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}
.vcco-sum-meta p{margin:0}
.vcco-sum-price{flex:0 0 auto;font-size:14px;font-weight:700;color:var(--vc-ink);white-space:nowrap}

.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)}
.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}
}

/* fulfillment block relocated beside the summary */
.vcco-fulfil{background:#fff;font-size:13.5px;color:var(--vc-slate);margin-top:18px}
.vcco-fulfil p{margin:0 0 8px;line-height:1.55}
.vcco-fulfil h3,.vcco-fulfil h4{font-family:var(--vc-display);font-size:15px;color:var(--vc-navy-deep);margin:14px 0 6px}
.vcco-fulfil .vcco-card-h h3{font-size:21px;margin:0}
.vcco-fulfil 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}}
