/* ============================================================================
 * MR Corn — Cart glassmorphism PREMIUM (design only)
 * Loaded only on is_cart() by mu-plugins/mrcorn-cart-style.php.
 * Scoped under body.woocommerce-cart. Styles WooCommerce's + Blocksy's EXISTING
 * cart markup PLUS the premium elements injected via hooks in the plugin
 * (.mc-cart-steps, .mc-savings, .mc-unit, .mc-vat-tag, .mc-sub-was/.mc-save-badge,
 * .mc-continue, .mc-xsell, .mc-sum-head, .mc-delivery-line, .mc-trustblock).
 * Ports preview/cart/cart-premium.html. NO template overrides, NO field/JS/logic
 * changes — every total still comes from WooCommerce's own calculation.
 * Real classes confirmed against the rendered staging cart DOM.
 * ========================================================================== */

body.woocommerce-cart{
  --mc-green-900:#0e2a22;
  --mc-green-800:#143b30;
  --mc-green-700:#1c5240;
  --mc-green-600:#246b52;
  --mc-gold:#f4b400;
  --mc-gold-deep:#c98a00;
  --mc-ink:#13241e;
  --mc-muted:#4f6b60;
  --mc-glass:rgba(255,255,255,.58);
  --mc-glass-border:rgba(255,255,255,.7);
  --mc-glass-shadow:0 24px 60px -26px rgba(14,42,34,.5);
  --mc-field:rgba(255,255,255,.74);
  --mc-field-border:rgba(20,59,48,.18);
  --mc-radius:22px;
}

/* ---------- page backdrop (same family as checkout) ---------- */
body.woocommerce-cart{
  background:
    radial-gradient(900px 600px at 6% -8%, rgba(244,180,0,.16), transparent 60%),
    radial-gradient(820px 700px at 102% 0%, rgba(36,107,82,.20), transparent 55%),
    radial-gradient(900px 820px at 50% 128%, rgba(28,82,64,.26), transparent 60%),
    linear-gradient(135deg,#eef3ec 0%,#dfeadf 45%,#cfe0d4 100%) !important;
}
body.woocommerce-cart #main,
body.woocommerce-cart .ct-container,
body.woocommerce-cart .entry-content,
body.woocommerce-cart article.type-page,
body.woocommerce-cart .page-content{
  background:transparent !important;box-shadow:none !important;
}
body.woocommerce-cart #main{position:relative;overflow:hidden;}
body.woocommerce-cart #main::before,
body.woocommerce-cart #main::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(16px);
}
body.woocommerce-cart #main::before{
  width:320px;height:320px;top:-40px;right:7%;
  background:radial-gradient(circle,rgba(244,180,0,.42),transparent 70%);
}
body.woocommerce-cart #main::after{
  width:380px;height:380px;bottom:-80px;left:-50px;
  background:radial-gradient(circle,rgba(36,107,82,.40),transparent 70%);
}
body.woocommerce-cart .woocommerce{position:relative;z-index:1;}
body.woocommerce-cart .entry-content.is-layout-constrained,
body.woocommerce-cart .entry-content.is-layout-constrained > *{max-width:none !important;}
/* hide the redundant WooCommerce page title ("Cart") + its header block — the green
   page hero already shows "Your basket", so this duplicate heading just adds a gap. */
body.woocommerce-cart .entry-header{display:none !important;}

/* ============================================================================
 * Premium guided-checkout STEPPER band (injected at woocommerce_before_cart).
 * Reads as a continuation of the Blocksy "Your basket" green page hero above it.
 * ========================================================================== */
body.woocommerce-cart .mc-cart-steps{
  position:relative;z-index:1;color:#fff;border-radius:16px;overflow:hidden;
  /* Pull the bar up to sit just under the "Your basket" hero (the content
     container reserves ~120px of space below the hero) — frees vertical room so
     more of the basket shows above the fold. Self-contained to this element. */
  margin:-100px auto 24px;max-width:1380px;padding:18px 24px;
  background:linear-gradient(135deg,#0c241d 0%,#143e31 52%,#1c5240 100%);
  border:1px solid rgba(244,180,0,.30);
  box-shadow:0 18px 44px -24px rgba(14,42,34,.6);
}
body.woocommerce-cart .mc-cart-steps::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(244,180,0,.85),transparent);
}
body.woocommerce-cart .mc-steps-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
body.woocommerce-cart .mc-steps{display:flex;align-items:center;flex:1 1 auto;min-width:0;}
body.woocommerce-cart .mc-step{
  display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;
  color:rgba(255,255,255,.55);white-space:nowrap;
}
body.woocommerce-cart .mc-sdot{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.7);flex:0 0 auto;
}
body.woocommerce-cart .mc-step.is-active{color:#fff;}
body.woocommerce-cart .mc-step.is-active .mc-sdot{
  background:var(--mc-gold);border-color:var(--mc-gold);color:#2a1f00;box-shadow:0 0 0 4px rgba(244,180,0,.22);
}
body.woocommerce-cart .mc-sline{
  flex:1 1 18px;height:2px;min-width:14px;margin:0 8px;background:rgba(255,255,255,.18);border-radius:2px;
}
body.woocommerce-cart .mc-secure{font-size:12px;color:#cfe6da;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}

/* ============================================================================
 * 2-column layout: items (left) + order-summary (right).
 * ========================================================================== */
body.woocommerce-cart .ct-woocommerce-cart-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 400px;
  gap:26px;align-items:start;
  max-width:1380px;margin:0 auto 46px;
}
/* LEFT: the form is now a transparent container holding [savings][items panel][cross-sell] */
body.woocommerce-cart .ct-woocommerce-cart-form > form.woocommerce-cart-form{
  grid-column:1;margin:0;width:auto;float:none;min-width:0;
  background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible;
}
body.woocommerce-cart .ct-woocommerce-cart-form > .cart_totals{
  grid-column:2;margin:0;width:auto;float:none;position:static;
}

/* ---------- "You're saving £X today" banner ---------- */
body.woocommerce-cart .mc-savings{
  display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:13px 16px;border-radius:14px;
  background:linear-gradient(135deg,rgba(244,180,0,.22),rgba(244,180,0,.1));border:1px solid rgba(244,180,0,.5);
  color:var(--mc-green-900);font-weight:700;font-size:13.5px;line-height:1.4;
}
body.woocommerce-cart .mc-savings .mc-sav-ico{font-size:18px;flex:0 0 auto;}
body.woocommerce-cart .mc-savings b{color:var(--mc-gold-deep);}

/* ---------- LEFT: the cart TABLE is the glass items panel ---------- */
body.woocommerce-cart table.shop_table.cart{
  width:100%;border:1px solid var(--mc-glass-border);border-collapse:separate;border-spacing:0;
  background:var(--mc-glass);
  -webkit-backdrop-filter:blur(22px) saturate(165%);backdrop-filter:blur(22px) saturate(165%);
  box-shadow:var(--mc-glass-shadow);border-radius:var(--mc-radius);margin:0;overflow:hidden;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body.woocommerce-cart table.shop_table.cart{background:rgba(255,255,255,.92);}
}
body.woocommerce-cart table.shop_table.cart thead th{
  border:0;background:transparent;padding:18px 22px 13px;text-align:left;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mc-muted);
}
body.woocommerce-cart table.shop_table.cart thead th.product-quantity{text-align:center;}
body.woocommerce-cart table.shop_table.cart thead th.product-subtotal{text-align:right;}
body.woocommerce-cart table.shop_table.cart thead th.product-remove{width:44px;}
body.woocommerce-cart .cart_item td{
  border:0;border-top:1px solid rgba(20,59,48,.1);background:transparent;
  padding:18px 22px;vertical-align:middle;
}
/* thumbnail tile (square, contain) */
body.woocommerce-cart td.product-thumbnail{width:90px;}
body.woocommerce-cart td.product-thumbnail .ct-media-container,
body.woocommerce-cart td.product-thumbnail img{
  width:70px;height:70px;border-radius:14px;margin:0;
}
body.woocommerce-cart td.product-thumbnail img{
  object-fit:contain;background:rgba(255,255,255,.9);
  border:1px solid rgba(20,59,48,.1);padding:6px;display:block;box-shadow:0 6px 16px -10px rgba(14,42,34,.5);
}
/* product name + injected unit price / VAT tag */
body.woocommerce-cart td.product-name{min-width:0;}
body.woocommerce-cart td.product-name > a{
  font-weight:700;font-size:15px;color:var(--mc-green-900);line-height:1.3;text-decoration:none;
}
body.woocommerce-cart td.product-name > a:hover{color:var(--mc-green-700);}
body.woocommerce-cart td.product-name .mc-unit{
  display:block;font-size:12.5px;color:var(--mc-muted);margin-top:4px;
}
body.woocommerce-cart td.product-name .mc-unit .woocommerce-Price-amount{font-weight:700;color:var(--mc-green-800);}
/* Blocksy renders its OWN unit price (p.price) in the name cell on desktop — hide
   it; our richer ".mc-unit" (£X each · VAT %) replaces it (avoids a duplicate price). */
body.woocommerce-cart td.product-name > p.price{display:none !important;}
body.woocommerce-cart .mc-vat-tag{
  display:inline-block;margin-left:5px;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;
  background:rgba(36,107,82,.12);color:var(--mc-green-700);vertical-align:middle;
}
/* package "Part of: …" label (kept for non-collapsed contexts) → gold pill */
body.woocommerce-cart td.product-name .variation{
  display:inline-flex;align-items:center;gap:6px;margin:8px 0 0;
  font-size:11px;font-weight:700;color:var(--mc-green-800);
  background:rgba(244,180,0,.18);border:1px solid rgba(244,180,0,.45);
  padding:3px 10px;border-radius:30px;line-height:1.2;
}
body.woocommerce-cart td.product-name .variation::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--mc-gold-deep);flex:0 0 auto;
}
body.woocommerce-cart td.product-name .variation dt,
body.woocommerce-cart td.product-name .variation dd,
body.woocommerce-cart td.product-name .variation dd p{
  display:inline;margin:0;padding:0;font-weight:700;font-size:11px;
}
body.woocommerce-cart td.product-name .mc-locked-qty{
  display:inline-block;margin-top:6px;font-size:12px;color:var(--mc-muted);font-weight:700;
}

/* ---------- quantity stepper (Blocksy type-2 → clean [ − | n | + ]) ---------- */
body.woocommerce-cart td.product-quantity{text-align:center;}
body.woocommerce-cart .quantity{
  display:inline-flex !important;align-items:center;
  background:var(--mc-field);border:1px solid var(--mc-field-border);
  border-radius:12px;overflow:hidden;width:auto;position:static;box-shadow:inset 0 1px 2px rgba(14,42,34,.05);
}
body.woocommerce-cart .quantity .ct-decrease,
body.woocommerce-cart .quantity .ct-increase{
  position:static !important;width:36px;height:40px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--mc-green-800);background:transparent;border:0;transform:none !important;
  transition:background .15s ease;
}
body.woocommerce-cart .quantity .ct-decrease:hover,
body.woocommerce-cart .quantity .ct-increase:hover{background:rgba(36,107,82,.12);}
body.woocommerce-cart .quantity .ct-decrease{order:0;}
body.woocommerce-cart .quantity .ct-increase{order:2;}
body.woocommerce-cart .quantity .ct-decrease::after{content:"\2212";font-size:18px;font-weight:700;line-height:1;}
body.woocommerce-cart .quantity .ct-increase::after{content:"+";font-size:18px;font-weight:700;line-height:1;}
body.woocommerce-cart .quantity .ct-decrease > *,
body.woocommerce-cart .quantity .ct-increase > *,
body.woocommerce-cart .quantity .ct-product-multiply-symbol{display:none !important;}
/* Blocksy also draws its OWN +/− glyph via ::before / a mask-image — kill it so
   only our ::after glyph shows (otherwise the button renders a doubled −− / ++). */
body.woocommerce-cart .quantity .ct-decrease::before,
body.woocommerce-cart .quantity .ct-increase::before{content:none !important;display:none !important;}
body.woocommerce-cart .quantity .ct-decrease,
body.woocommerce-cart .quantity .ct-increase{
  background-image:none !important;-webkit-mask-image:none !important;mask-image:none !important;
}
body.woocommerce-cart .quantity input.qty{
  order:1;width:46px !important;min-width:46px;text-align:center;
  border:0 !important;background:transparent !important;box-shadow:none !important;
  padding:9px 0;font-weight:700;font-size:15px;color:var(--mc-green-900);
  -moz-appearance:textfield;appearance:textfield;height:auto;
}
body.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* ---------- subtotal (+ injected was / Save% badge) ---------- */
body.woocommerce-cart td.product-subtotal{
  text-align:right;font-weight:800;font-size:15.5px;color:var(--mc-green-800);white-space:nowrap;
}
body.woocommerce-cart td.product-subtotal .mc-sub-was,
body.woocommerce-cart td.product-subtotal del,
body.woocommerce-cart td.product-subtotal .mcsp-was{
  display:block;font-size:12.5px;color:#a06b6b;text-decoration:line-through;font-weight:600;margin-bottom:1px;
}
body.woocommerce-cart td.product-subtotal .mc-sub-now,
body.woocommerce-cart td.product-subtotal ins,
body.woocommerce-cart td.product-subtotal .mcsp-now{
  display:block;text-decoration:none;background:transparent;color:var(--mc-green-800);font-weight:800;font-size:16px;line-height:1.2;
}
body.woocommerce-cart td.product-subtotal .mc-save-badge{
  display:inline-block;margin-top:4px;font-size:10.5px;font-weight:700;color:#fff;background:#c0392b;padding:2px 8px;border-radius:20px;
}

/* ---------- remove (×) → round trash button ---------- */
body.woocommerce-cart td.product-remove{width:44px;text-align:center;}
body.woocommerce-cart td.product-remove a.remove{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:10px;border:1px solid var(--mc-field-border);background:rgba(255,255,255,.62);
  color:#9a4a40 !important;font-size:20px;line-height:1;text-decoration:none;transition:all .15s ease;
}
body.woocommerce-cart td.product-remove a.remove:hover{
  background:#fdecea;border-color:#e6b6ae;color:#8a241b !important;
}
body.woocommerce-cart td.product-name .product-mobile-actions{margin:10px 0 0;}

/* ---------- coupon row (collapsible "Have a promo code?") ---------- */
body.woocommerce-cart td.actions{
  border-top:1px solid rgba(20,59,48,.12) !important;padding:16px 22px;background:transparent;
}
/* JS-injected toggle (cart.js); CSS keeps a sane no-JS fallback below */
body.woocommerce-cart .mc-coupon-toggle{
  display:inline-flex;align-items:center;gap:8px;background:none;border:0;cursor:pointer;
  color:var(--mc-green-700);font-weight:700;font-size:13.5px;padding:0;
}
body.woocommerce-cart .mc-coupon-toggle .mc-chev{font-size:11px;transition:transform .2s ease;}
body.woocommerce-cart .mc-coupon-toggle.open .mc-chev{transform:rotate(180deg);}
body.woocommerce-cart td.actions .coupon{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;float:none;
}
/* when JS is present, the coupon is hidden until the toggle opens it */
body.woocommerce-cart.mc-js td.actions .coupon{display:none;}
body.woocommerce-cart.mc-js td.actions .coupon.mc-open{display:flex;margin-top:12px;}
body.woocommerce-cart td.actions .coupon label{display:none;}
body.woocommerce-cart td.actions .coupon input#coupon_code{
  flex:1 1 190px;min-width:0;width:auto;background:var(--mc-field);border:1px solid var(--mc-field-border);
  border-radius:12px;padding:12px 14px;font-size:14px;color:var(--mc-ink);
}
body.woocommerce-cart td.actions .coupon input#coupon_code:focus{
  outline:none;border-color:var(--mc-green-600);box-shadow:0 0 0 3px rgba(36,107,82,.18);background:#fff;
}
body.woocommerce-cart td.actions .coupon button,
body.woocommerce-cart td.actions button[name="apply_coupon"]{
  background:linear-gradient(135deg,var(--mc-green-700),var(--mc-green-900)) !important;
  color:#fff !important;border:0 !important;border-radius:12px !important;
  padding:12px 22px !important;font-weight:700;font-size:14px;cursor:pointer;transition:filter .15s ease;
}
body.woocommerce-cart td.actions .coupon button:hover{filter:brightness(1.08);}
/* "Update cart" — Blocksy auto-updates, so keep it quiet (ghost) but present for no-JS. */
body.woocommerce-cart td.actions button[name="update_cart"]{
  background:transparent !important;color:var(--mc-green-700) !important;border:1px solid var(--mc-field-border) !important;
  border-radius:12px !important;padding:11px 18px !important;font-weight:700;float:right;
}

/* ---------- "Continue shopping" + "Complete your order" cross-sell ---------- */
body.woocommerce-cart .mc-continue{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;font-weight:700;
  color:var(--mc-green-700);text-decoration:none;
}
body.woocommerce-cart .mc-continue:hover{color:var(--mc-green-900);}
body.woocommerce-cart .mc-xsell{margin-top:20px;}
body.woocommerce-cart .mc-xsell-h{
  font-size:13px;font-weight:800;color:var(--mc-green-900);text-transform:uppercase;letter-spacing:.05em;
  margin:0 0 12px;display:flex;align-items:center;gap:8px;
}
body.woocommerce-cart .mc-xsell-h::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mc-gold);}
body.woocommerce-cart .mc-xgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
body.woocommerce-cart .mc-xcard{
  background:var(--mc-glass);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);
  border:1px solid var(--mc-glass-border);border-radius:16px;padding:13px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:7px;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body.woocommerce-cart .mc-xcard{background:rgba(255,255,255,.92);}
}
body.woocommerce-cart .mc-xcard .mc-xi{
  width:60px;height:60px;border-radius:12px;background:rgba(255,255,255,.9);border:1px solid rgba(20,59,48,.1);
  display:grid;place-items:center;overflow:hidden;
}
body.woocommerce-cart .mc-xcard .mc-xi img{width:100%;height:100%;object-fit:contain;padding:5px;display:block;}
body.woocommerce-cart .mc-xcard .mc-xn{
  font-size:12.5px;font-weight:700;color:var(--mc-green-900);line-height:1.3;min-height:33px;
  display:flex;align-items:center;
}
body.woocommerce-cart .mc-xcard .mc-xp{font-size:13px;font-weight:800;color:var(--mc-green-800);}
body.woocommerce-cart .mc-xcard .mc-xp .woocommerce-Price-amount{font-weight:800;}
body.woocommerce-cart .mc-xcard .mc-xadd{
  margin-top:2px;width:100%;border:1px solid var(--mc-green-600);background:rgba(36,107,82,.08);
  color:var(--mc-green-700);border-radius:10px;padding:9px;font-weight:700;font-size:12.5px;cursor:pointer;
  text-align:center;text-decoration:none;transition:all .15s ease;
}
body.woocommerce-cart .mc-xcard .mc-xadd:hover{background:var(--mc-green-700);color:#fff;}

/* ============================================================================
 * RIGHT: Order-summary glass card
 * ========================================================================== */
body.woocommerce-cart .cart_totals{
  background:var(--mc-glass);
  -webkit-backdrop-filter:blur(22px) saturate(165%);
  backdrop-filter:blur(22px) saturate(165%);
  border:1px solid var(--mc-glass-border) !important;
  box-shadow:var(--mc-glass-shadow) !important;
  border-radius:var(--mc-radius);
  padding:20px 22px 22px;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body.woocommerce-cart .cart_totals{background:rgba(255,255,255,.92);}
}
/* hide the native "Cart totals" h2 — replaced by the injected .mc-sum-head */
body.woocommerce-cart .cart_totals > h2{display:none !important;}
body.woocommerce-cart .mc-sum-head{margin:0 0 14px;}
body.woocommerce-cart .mc-sum-title{
  margin:0 0 4px;font-size:18px;font-weight:800;color:var(--mc-green-900);display:flex;align-items:center;gap:9px;
}
body.woocommerce-cart .mc-sum-title::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--mc-gold);flex:0 0 auto;}
body.woocommerce-cart .mc-sum-sub{font-size:12px;color:var(--mc-muted);margin:0;}

/* Flex rows + reorder: shipping selector to the TOP, then itemised list, then total. */
body.woocommerce-cart .cart_totals table,
body.woocommerce-cart .cart_totals table tbody{
  display:flex;flex-direction:column;width:100%;border:0;margin:0;background:transparent;
}
body.woocommerce-cart .cart_totals table tr{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;
  border-bottom:1px solid rgba(20,59,48,.1);padding:10px 0;
}
body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td{border:0;padding:0;background:transparent;}
body.woocommerce-cart .cart_totals table th{text-align:left;color:var(--mc-muted);font-weight:600;font-size:14px;}
body.woocommerce-cart .cart_totals table td{text-align:right;color:var(--mc-green-900);font-weight:700;font-size:14px;}
/* "Subtotal" totals label gets the "(ex VAT)" suffix via CSS — leaves the items-
   table "Subtotal" column header (the same WooCommerce string) untouched. */
body.woocommerce-cart .cart_totals tr.cart-subtotal th::after{content:" (ex VAT)";font-weight:600;}
/* row order (flex) */
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping{order:-1;}
body.woocommerce-cart .cart_totals tr.cart-subtotal{order:0;}
body.woocommerce-cart .cart_totals tr.cart-discount,
body.woocommerce-cart .cart_totals tr.fee{order:1;}
body.woocommerce-cart .cart_totals tr.tax-total{order:2;}
body.woocommerce-cart .cart_totals tr.mc-delivery-line{order:3;}
body.woocommerce-cart .cart_totals tr.order-total{order:10;}
/* discount colour */
body.woocommerce-cart .cart_totals tr.cart-discount th{color:var(--mc-green-700);}
body.woocommerce-cart .cart_totals tr.cart-discount td{color:#c0392b;font-weight:800;}
/* injected delivery line FREE styling */
body.woocommerce-cart .cart_totals tr.mc-delivery-line .mc-free{color:var(--mc-gold-deep);font-weight:800;}
/* order total */
body.woocommerce-cart .cart_totals .order-total{
  border-bottom:0;border-top:2px solid rgba(20,59,48,.16);margin-top:4px;padding-top:14px;align-items:baseline;
}
body.woocommerce-cart .cart_totals .order-total th{font-size:16px;font-weight:800;color:var(--mc-green-900);}
body.woocommerce-cart .cart_totals .order-total td{font-size:25px;font-weight:800;color:var(--mc-green-900);position:relative;}
body.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount{font-size:25px;}
body.woocommerce-cart .cart_totals .order-total td::after{
  content:"incl. VAT";display:block;font-size:11px;color:var(--mc-muted);font-weight:600;margin-top:2px;
}

/* ---------- shipping selector ("How would you like to receive your order?") ---------- */
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping{
  flex-direction:column;align-items:stretch;border-bottom:1px solid rgba(20,59,48,.1);padding-bottom:14px;
}
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping th{display:none;}
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals.shipping td{
  text-align:left;width:100%;padding:4px 0;
}
body.woocommerce-cart .ct-shipping-heading{
  font-size:12.5px;font-weight:800;color:var(--mc-green-800);margin:2px 0 11px;text-transform:uppercase;letter-spacing:.04em;
}
body.woocommerce-cart ul#shipping_method{list-style:none;margin:0;padding:0;}
body.woocommerce-cart ul#shipping_method li{margin:0 0 10px;position:relative;padding:0;}
body.woocommerce-cart ul#shipping_method li input.shipping_method{position:absolute;opacity:0;width:0;height:0;}
body.woocommerce-cart ul#shipping_method li label{
  display:flex;align-items:center;gap:12px;margin:0;cursor:pointer;
  padding:14px;border:1px solid var(--mc-field-border);border-radius:14px;
  background:rgba(255,255,255,.62);font-size:14px;font-weight:700;color:var(--mc-green-900);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
body.woocommerce-cart ul#shipping_method li label::before{
  content:"";flex:0 0 auto;width:18px;height:18px;border-radius:50%;
  border:2px solid var(--mc-green-600);box-sizing:border-box;transition:box-shadow .15s ease;
}
body.woocommerce-cart ul#shipping_method li input.shipping_method:checked + label{
  border-color:var(--mc-green-600);background:rgba(36,107,82,.1);box-shadow:0 0 0 2px rgba(36,107,82,.18);
}
body.woocommerce-cart ul#shipping_method li input.shipping_method:checked + label::before{
  border-color:var(--mc-green-700);box-shadow:inset 0 0 0 4px var(--mc-green-700);
}
body.woocommerce-cart ul#shipping_method li input.shipping_method:focus-visible + label{
  outline:2px solid var(--mc-green-600);outline-offset:2px;
}
body.woocommerce-cart ul#shipping_method li label .woocommerce-Price-amount{
  margin-left:auto;font-weight:800;color:var(--mc-green-800);
}
body.woocommerce-cart .woocommerce-shipping-methods + .woocommerce-shipping-destination,
body.woocommerce-cart .woocommerce-shipping-destination{font-size:12px;color:var(--mc-muted);margin-top:8px;}
body.woocommerce-cart .shipping-calculator-button{
  display:inline-block;margin-top:6px;font-size:12.5px;font-weight:700;color:var(--mc-green-700);text-decoration:underline;
}
body.woocommerce-cart .shipping-calculator-form{margin-top:10px;}
body.woocommerce-cart .shipping-calculator-form .input-text,
body.woocommerce-cart .shipping-calculator-form select,
body.woocommerce-cart .shipping-calculator-form .select2-selection{
  background:var(--mc-field) !important;border:1px solid var(--mc-field-border) !important;
  border-radius:11px !important;padding:10px 12px;font-size:14px;color:var(--mc-ink);margin-bottom:8px;
}

/* ---------- proceed button + trust footer ---------- */
body.woocommerce-cart .wc-proceed-to-checkout{padding-top:14px;}
body.woocommerce-cart .ct-shipping-progress-cart-page{margin:6px 0 16px;}
body.woocommerce-cart .ct-shipping-progress-cart-page .ct-message{
  font-size:12.5px;font-weight:600;color:var(--mc-green-800);margin:0 0 8px;
}
body.woocommerce-cart .ct-shipping-progress-cart-page .ct-progress-bar{
  height:8px;background:rgba(20,59,48,.12);border-radius:20px;overflow:hidden;
}
body.woocommerce-cart .ct-shipping-progress-cart-page .ct-progress-bar > span{
  display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--mc-gold),var(--mc-gold-deep));
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  background:linear-gradient(135deg,var(--mc-gold),var(--mc-gold-deep)) !important;
  color:#2a1f00 !important;border:0;cursor:pointer;text-decoration:none;float:none;
  padding:17px 18px;border-radius:14px;font-size:16px;font-weight:800;line-height:1;
  box-shadow:0 16px 34px -12px rgba(201,138,0,.85);transition:filter .18s ease,transform .18s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{filter:brightness(1.05);transform:translateY(-1px);}

body.woocommerce-cart .mc-trustblock{margin-top:13px;}
body.woocommerce-cart .mc-secure-line{
  display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:11.5px;color:var(--mc-muted);
}
body.woocommerce-cart .mc-pay{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:14px;flex-wrap:wrap;}
body.woocommerce-cart .mc-pay .mc-card{
  height:24px;min-width:38px;border-radius:5px;border:1px solid rgba(20,59,48,.14);background:#fff;
  display:grid;place-items:center;font-size:9px;font-weight:800;letter-spacing:.02em;padding:0 6px;color:#1a1a2e;
}
body.woocommerce-cart .mc-pay .visa{color:#1a1f71;}
body.woocommerce-cart .mc-pay .mc{color:#eb001b;}
body.woocommerce-cart .mc-pay .amex{color:#2e77bc;}
body.woocommerce-cart .mc-pay .ap{color:#000;}
body.woocommerce-cart .mc-pay .gp{color:#4285f4;}
body.woocommerce-cart .mc-trust{
  display:flex;justify-content:center;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(20,59,48,.1);
  font-size:11.5px;color:var(--mc-muted);flex-wrap:wrap;
}
body.woocommerce-cart .mc-trust span{display:inline-flex;align-items:center;gap:5px;font-weight:600;}

/* ---------- notices (coupon applied / errors / messages) — glass ---------- */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .cart-empty.woocommerce-info{
  border-radius:14px;border:1px solid var(--mc-glass-border);
  background:var(--mc-glass);
  -webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);
  color:var(--mc-ink);font-size:13.5px;padding:14px 18px;list-style:none;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body.woocommerce-cart .woocommerce-info,
  body.woocommerce-cart .woocommerce-message,
  body.woocommerce-cart .woocommerce-error{background:rgba(255,255,255,.92);}
}
body.woocommerce-cart .woocommerce-info{border-left:4px solid var(--mc-gold);}
/* info notices (e.g. "… is already in your basket") — GRID layout (icon column + text column) so one
   OR many <li> items stack vertically, long text wraps, and it works for both <ul> (li children) and
   <div> (text node) notice markup with no icon/text overlap on desktop or mobile. cart-empty keeps
   its own panel styling and is excluded. */
body.woocommerce-cart .woocommerce-info:not(.cart-empty){
  display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:10px;row-gap:4px;align-items:start;
}
body.woocommerce-cart .woocommerce-info:not(.cart-empty) > li{grid-column:2;margin:0;list-style:none;}
body.woocommerce-cart .woocommerce-info:not(.cart-empty)::before{
  content:"\2139";grid-column:1;grid-row:1;position:static !important;margin-top:2px;
  width:20px;height:20px;border-radius:50%;background:var(--mc-gold);color:#2a1f00;
  display:grid;place-items:center;font-size:12px;font-weight:800;font-style:normal;line-height:1;
}
/* add-to-cart success ("… added to your basket") — slim premium bar: compact,
   green check chip, NO bulky "View basket" button (you're already on the cart). */
body.woocommerce-cart .woocommerce-message{
  display:flex;align-items:center;gap:9px;
  width:fit-content;max-width:100%;margin:0 auto 14px;   /* small pill, centred — not a full-width bar */
  padding:8px 16px !important;font-size:12.5px;font-weight:700;color:var(--mc-green-900);
  border:1px solid rgba(36,107,82,.3) !important;border-left:1px solid rgba(36,107,82,.3) !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(36,107,82,.16),rgba(255,255,255,.75)) !important;
  box-shadow:0 8px 20px -12px rgba(14,42,34,.45);
}
body.woocommerce-cart .woocommerce-message::before{
  content:"\2713";position:static !important;  /* WooCommerce defaults this to absolute → reset so it's a flex item, not over the text */
  flex:0 0 auto;width:20px;height:20px;margin:0;border-radius:50%;
  background:var(--mc-green-700);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;
}
body.woocommerce-cart .woocommerce-message a.button,
body.woocommerce-cart .woocommerce-message a.wc-forward,
body.woocommerce-cart .woocommerce-message .button{display:none !important;}
/* error notices — GRID layout + a static "!" chip so MULTIPLE <li> errors stack vertically (never
   side-by-side / overflowing on mobile) and the default absolute icon can't overlap the text. Works
   for <ul> (multiple <li>) and <div> (single text node) notice markup. */
body.woocommerce-cart .woocommerce-error{
  display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:10px;row-gap:4px;align-items:start;
  border-left:4px solid #c0392b;background:rgba(255,243,242,.92);color:#7a241b;
}
body.woocommerce-cart .woocommerce-error > li{grid-column:2;margin:0;list-style:none;}
body.woocommerce-cart .woocommerce-error::before{
  content:"!";grid-column:1;grid-row:1;position:static !important;margin-top:2px;
  width:20px;height:20px;border-radius:50%;background:#c0392b;color:#fff;
  display:grid;place-items:center;font-size:13px;font-weight:800;line-height:1;
}
body.woocommerce-cart .woocommerce-info a,
body.woocommerce-cart .woocommerce-message a{color:var(--mc-green-700);font-weight:700;}
body.woocommerce-cart .wc-empty-cart-message + p .button,
body.woocommerce-cart .cart-empty + p .button,
body.woocommerce-cart .return-to-shop .button{
  background:linear-gradient(135deg,var(--mc-gold),var(--mc-gold-deep)) !important;color:#2a1f00 !important;
  border:0 !important;border-radius:14px !important;padding:14px 24px !important;font-weight:800;
}

/* ============================================================================
 * EMPTY BASKET — branded panel (.mc-empty), injected by the
 * woocommerce_cart_is_empty hook in mrcorn-cart-style.php. Replaces the default
 * ".cart-empty woocommerce-info" notice (whose absolute ::before icon overlapped
 * the text) + the default "Return to shop" button. The default pair is hidden
 * ONLY when our panel is present (:has(.mc-empty)) so the page can never blank.
 * Scoped to the MAIN cart content (the panel never renders in Blocksy's drawer).
 * NOTE: wc_empty_cart_message() prints the whole .wc-empty-cart-message wrapper and
 * our hook appends .mc-empty AFTER it (a sibling inside .woocommerce, NOT a child of
 * the wrapper), so the hide is keyed off .woocommerce:has(.mc-empty). The drawer's
 * empty message has no .woocommerce>.mc-empty ancestor, so it is never touched. */
body.woocommerce-cart .woocommerce:has(.mc-empty) > .wc-empty-cart-message,
body.woocommerce-cart .woocommerce:has(.mc-empty) > .return-to-shop{display:none !important;}

body.woocommerce-cart .mc-empty{
  position:relative;z-index:1;max-width:600px;margin:0 auto;text-align:center;
  border-radius:var(--mc-radius);border:1px solid var(--mc-glass-border);
  background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.5));
  -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);
  box-shadow:var(--mc-glass-shadow);padding:44px 40px 40px;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body.woocommerce-cart .mc-empty{background:rgba(255,255,255,.92);}
}
/* icon badge */
body.woocommerce-cart .mc-empty-badge{
  width:96px;height:96px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:radial-gradient(circle at 50% 38%,rgba(244,180,0,.30),rgba(244,180,0,.10) 70%);
  border:1px solid rgba(244,180,0,.45);
}
body.woocommerce-cart .mc-empty-badge::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed rgba(36,107,82,.30);}
body.woocommerce-cart .mc-empty-ico{width:48px;height:48px;color:var(--mc-green-700);}
body.woocommerce-cart .mc-empty-title{margin:0 0 8px;font-size:25px;line-height:1.2;font-weight:800;color:var(--mc-green-900);letter-spacing:-.3px;}
body.woocommerce-cart .mc-empty-text{margin:0 auto 24px;max-width:430px;font-size:14.5px;line-height:1.6;color:var(--mc-muted);}
/* primary CTA */
body.woocommerce-cart .mc-empty-cta{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  background:linear-gradient(135deg,var(--mc-gold),var(--mc-gold-deep));color:#2a1f00;
  font-weight:800;font-size:15px;padding:14px 30px;border-radius:14px;
  box-shadow:0 14px 28px -12px rgba(201,138,0,.7);
  transition:transform .15s ease,box-shadow .15s ease;
}
body.woocommerce-cart .mc-empty-cta:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(201,138,0,.8);}
body.woocommerce-cart .mc-empty-arrow{width:17px;height:17px;}
/* quick category chips */
body.woocommerce-cart .mc-empty-quick{margin:26px 0 4px;}
body.woocommerce-cart .mc-empty-quick-lbl{display:block;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#7d9389;margin-bottom:12px;}
body.woocommerce-cart .mc-empty-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;}
body.woocommerce-cart .mc-chip{
  display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:13px;font-weight:700;color:var(--mc-green-800);
  padding:8px 15px;border-radius:30px;background:rgba(255,255,255,.66);border:1px solid rgba(20,59,48,.16);
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
body.woocommerce-cart .mc-chip:hover{background:#fff;border-color:rgba(244,180,0,.7);transform:translateY(-1px);}
body.woocommerce-cart .mc-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--mc-gold);flex:0 0 auto;}
body.woocommerce-cart .mc-chip-feature{background:linear-gradient(135deg,rgba(36,107,82,.14),rgba(255,255,255,.6));border-color:rgba(36,107,82,.3);color:var(--mc-green-900);}
body.woocommerce-cart .mc-chip-feature .mc-chip-dot{background:var(--mc-green-600);}
/* trust line */
body.woocommerce-cart .mc-empty-trust{
  margin-top:26px;padding-top:18px;border-top:1px solid rgba(20,59,48,.12);
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:12.5px;font-weight:600;color:var(--mc-muted);
}
body.woocommerce-cart .mc-empty-trust span{display:inline-flex;align-items:center;gap:6px;}
@media (max-width:480px){
  body.woocommerce-cart .mc-empty{padding:34px 20px 30px;}
  body.woocommerce-cart .mc-empty-badge{width:84px;height:84px;}
  body.woocommerce-cart .mc-empty-ico{width:42px;height:42px;}
  body.woocommerce-cart .mc-empty-title{font-size:21px;}
  body.woocommerce-cart .mc-empty-text{font-size:13.5px;}
}

/* ============================================================================
 * Responsive (<=980px): single column, totals stacked, big tap targets.
 * ========================================================================== */
@media (max-width:980px){
  body.woocommerce-cart .ct-woocommerce-cart-form{display:block;max-width:none;margin:10px 0 30px;}
  body.woocommerce-cart .ct-woocommerce-cart-form > .cart_totals{position:static;margin-top:18px;}
  body.woocommerce-cart table.shop_table.cart{border-radius:18px;}
  body.woocommerce-cart .cart_totals{border-radius:18px;}

  body.woocommerce-cart .mc-cart-steps{padding:16px;}
  body.woocommerce-cart .mc-slabel{display:none;}   /* dots only on phone — keeps the strip tidy */
  body.woocommerce-cart .mc-step{gap:0;}
  body.woocommerce-cart .mc-sline{margin:0 6px;}

  /* each line item becomes a clearly separated card */
  body.woocommerce-cart table.shop_table.cart thead{display:none;}
  body.woocommerce-cart .cart_item{
    display:flex;flex-wrap:wrap;align-items:center;gap:12px;
    padding:16px;border-top:1px solid rgba(20,59,48,.1);
  }
  body.woocommerce-cart .cart_item td{border:0 !important;padding:0;display:block;}
  body.woocommerce-cart .cart_item td.product-thumbnail{width:60px;flex:0 0 auto;}
  body.woocommerce-cart td.product-thumbnail .ct-media-container,
  body.woocommerce-cart td.product-thumbnail img{width:60px;height:60px;}
  body.woocommerce-cart .cart_item td.product-name{flex:1 1 0;min-width:140px;}
  body.woocommerce-cart .cart_item td.product-remove{order:5;margin-left:auto;}
  body.woocommerce-cart .cart_item td.product-quantity{flex:0 0 auto;}
  body.woocommerce-cart .cart_item td.product-subtotal{flex:1 1 auto;text-align:right;align-self:center;}
  body.woocommerce-cart .cart_item td::before{display:none !important;}

  body.woocommerce-cart .mc-xgrid{grid-template-columns:1fr;}
  body.woocommerce-cart .mc-xcard{flex-direction:row;text-align:left;align-items:center;gap:12px;}
  body.woocommerce-cart .mc-xcard .mc-xn{min-height:0;flex:1;}
  body.woocommerce-cart .mc-xcard .mc-xi{width:50px;height:50px;flex:0 0 auto;}
  body.woocommerce-cart .mc-xcard .mc-xp{flex:0 0 auto;}
  body.woocommerce-cart .mc-xcard .mc-xadd{width:auto;flex:0 0 auto;padding:9px 16px;}

  body.woocommerce-cart td.actions .coupon input#coupon_code{font-size:16px;} /* >=16px stops iOS zoom */
  body.woocommerce-cart .quantity input.qty{font-size:16px;}
  body.woocommerce-cart ul#shipping_method li label{min-height:50px;font-size:15px;}
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{padding:16px;font-size:16px;}
}

/* ============================================================================
 * Starter-package COLLAPSE — summary row + hidden component rows.
 * (Server-rendered by mrcorn-cart-style.php; gated on html.mc-cart-collapse.)
 * ========================================================================== */
body.woocommerce-cart tr.mc-cart-pkg-summary > td{
  width:100%;box-sizing:border-box;padding:18px 22px !important;
  border:0 !important;border-top:1px solid rgba(20,59,48,.1) !important;
}
body.woocommerce-cart tr.mc-cart-pkg-summary:first-child > td{border-top:0 !important;}
body.woocommerce-cart .mc-pkg-box{
  width:100%;box-sizing:border-box;position:relative;overflow:hidden;
  border:1px solid rgba(36,107,82,.25);
  background:linear-gradient(135deg,rgba(36,107,82,.09),rgba(36,107,82,.04));
  border-radius:18px;padding:16px 17px;
}
body.woocommerce-cart .mc-pkg-box::before{
  content:"";position:absolute;top:0;left:0;width:4px;height:100%;
  background:linear-gradient(180deg,var(--mc-gold),var(--mc-gold-deep));
}
body.woocommerce-cart .mc-pkg-top{display:flex;align-items:center;gap:15px;}
body.woocommerce-cart .mc-pkg-ico{
  width:52px;height:52px;flex:none;border-radius:14px;
  background:linear-gradient(135deg,var(--mc-green-700),var(--mc-green-900));
  color:var(--mc-gold);display:grid;place-items:center;font-size:24px;box-shadow:0 8px 20px -10px rgba(14,42,34,.7);
}
body.woocommerce-cart .mc-pkg-main{flex:1;min-width:0;display:flex;flex-direction:column;}
body.woocommerce-cart .mc-pkg-name{font-weight:800;font-size:16px;color:var(--mc-green-900);line-height:1.25;}
body.woocommerce-cart .mc-pkg-sub{font-size:12.5px;color:var(--mc-muted);margin-top:3px;}
body.woocommerce-cart .mc-pkg-chip{
  align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:8px;
  font-size:11px;font-weight:700;color:var(--mc-green-800);
  background:rgba(244,180,0,.18);border:1px solid rgba(244,180,0,.45);padding:3px 10px;border-radius:30px;
}
body.woocommerce-cart .mc-pkg-price{flex:none;text-align:right;white-space:nowrap;}
body.woocommerce-cart .mc-pkg-price-val{display:block;font-weight:800;font-size:17px;color:var(--mc-green-800);}
body.woocommerce-cart .mc-pkg-price-val .woocommerce-Price-amount{font-weight:800;}
body.woocommerce-cart .mc-pkg-ex{display:block;font-weight:600;font-size:10.5px;color:var(--mc-muted);}
body.woocommerce-cart .mc-pkg-toggle{
  margin-top:13px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  background:rgba(255,255,255,.72);border:1px solid var(--mc-field-border);
  border-radius:12px;padding:11px;font-size:13px;font-weight:700;color:var(--mc-green-700);
  cursor:pointer;transition:background .15s ease;
}
body.woocommerce-cart .mc-pkg-toggle:hover{background:#fff;}
body.woocommerce-cart .mc-pkg-toggle .mc-chev{transition:transform .2s ease;font-size:11px;}
body.woocommerce-cart .mc-pkg-toggle.open .mc-chev{transform:rotate(180deg);}

/* Progressive enhancement: collapse gated on html.mc-cart-collapse (cloak in the
   plugin). No JS / JS-fail → class absent/removed → FULL removable component list. */
body.woocommerce-cart tr.mc-cart-pkg-summary{display:none;}
html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-pkg-summary{display:table-row;}
html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle{display:none !important;}
html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle.mc-show{display:table-row !important;}
body.woocommerce-cart .mc-locked-qty{color:var(--mc-muted);font-weight:700;font-size:14px;}

@media (max-width:980px){
  html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle.mc-show{display:flex !important;}
  body.woocommerce-cart tr.mc-cart-pkg-summary > td{padding:14px 16px !important;}
  body.woocommerce-cart .mc-pkg-name{font-size:14.5px;}
  body.woocommerce-cart .mc-pkg-top{gap:12px;}
  body.woocommerce-cart .mc-pkg-ico{width:46px;height:46px;font-size:22px;}
}

/* ============================================================================
 * v0.4.0 — package controls: single "Remove package" button, hidden per-line
 * removes on bundle rows, catalogue unit price, clean package-allocation subtotal,
 * and a grouped look for expanded component rows. All gated on html.mc-cart-collapse
 * (the enhanced-UI cloak) so a JS-fail fallback restores the native per-row removes.
 * ========================================================================== */

/* Req 2 — while the enhanced package UI is active, bundle component rows show NO
   individual remove control. Hide EVERY remove link inside a bundle row: this covers
   both the desktop table cell (td.product-remove a.remove) AND Blocksy's mobile
   "product-mobile-actions" block (a separate <div> in the name cell, shown only on
   mobile). Desktop keeps the empty product-remove cell for column alignment; the mobile
   rule below drops it. If JS fails and the cloak self-heals away, the native per-row
   removes return (customer never trapped). */
html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle a.remove{display:none !important;}

/* Req 1 — toggle + "Remove package" share one action row inside the summary card. */
body.woocommerce-cart .mc-pkg-actions{display:flex;gap:10px;margin-top:13px;align-items:stretch;flex-wrap:wrap;}
body.woocommerce-cart .mc-pkg-actions .mc-pkg-toggle{margin-top:0;flex:1 1 200px;}
body.woocommerce-cart .mc-pkg-remove{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:0 16px;border-radius:12px;
  background:rgba(154,74,64,.08);border:1px solid rgba(154,74,64,.34);
  color:#8a241b;font-size:12.5px;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
body.woocommerce-cart .mc-pkg-remove:hover{background:#fdecea;border-color:#e6b6ae;color:#7a1f17;}
body.woocommerce-cart .mc-pkg-remove:focus-visible{outline:2px solid #9a4a40;outline-offset:2px;}
body.woocommerce-cart .mc-pkg-remove-ico{font-size:14px;line-height:1;}

/* Req 4 — catalogue regular/sale UNIT price under each bundle component name
   (the package-adjusted price is reflected only in the subtotal allocation below). */
body.woocommerce-cart td.product-name .mc-cat-unit{display:block;font-size:12.5px;color:var(--mc-muted);margin-top:4px;line-height:1.5;}
body.woocommerce-cart td.product-name .mc-cat-unit .mc-cat-was{text-decoration:line-through;color:#a06b6b;font-weight:600;margin-right:5px;}
body.woocommerce-cart td.product-name .mc-cat-unit .mc-cat-was .woocommerce-Price-amount{color:#a06b6b;font-weight:600;}
body.woocommerce-cart td.product-name .mc-cat-unit .mc-cat-now{text-decoration:none;background:transparent;color:var(--mc-green-800);font-weight:700;}
body.woocommerce-cart td.product-name .mc-cat-unit .mc-cat-now .woocommerce-Price-amount{color:var(--mc-green-800);font-weight:700;}
body.woocommerce-cart td.product-name .mc-cat-unit .mc-cat-lbl{margin-left:4px;color:var(--mc-muted);font-weight:600;}

/* Req 4.9 — bundle subtotal cell = clean WooCommerce package allocation + label
   (no regular-vs-active strikethrough that could be mistaken for a catalogue sale). */
body.woocommerce-cart td.product-subtotal .mc-alloc-amt{display:block;color:var(--mc-green-800);font-weight:800;font-size:16px;line-height:1.2;}
body.woocommerce-cart td.product-subtotal .mc-alloc-amt .woocommerce-Price-amount{color:var(--mc-green-800);font-weight:800;}
body.woocommerce-cart td.product-subtotal .mc-alloc-lbl{display:block;margin-top:3px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mc-muted);}

/* Req 3 design — expanded component rows read as one group under their package:
   subtle tint everywhere + a gold left accent and slight indent on desktop tables. */
html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle.mc-show{background:rgba(36,107,82,.035);}
@media (min-width:981px){
  html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle.mc-show td.product-remove{box-shadow:inset 4px 0 0 rgba(244,180,0,.55);}
  html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle.mc-show td.product-name{padding-left:14px;}
}

@media (max-width:980px){
  /* Mobile card: drop the now-empty bundle remove cell so there's no stray gap. */
  html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle td.product-remove{display:none !important;}
  /* Mobile parity: on phones Blocksy swaps the qty/subtotal/remove cells for a compact
     ".product-mobile-actions" line (locked qty × the package-ADJUSTED unit price + a remove
     link). For bundle rows we hide that block and instead reveal the SAME locked qty +
     "Package allocation" the desktop table shows — so the package-discounted unit price is
     never shown unlabelled, there's no per-row remove, and mobile matches desktop. */
  html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle .product-mobile-actions{display:none !important;}
  html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle td.product-quantity{display:block !important;flex:0 0 auto;}
  html.mc-cart-collapse body.woocommerce-cart tr.mc-cart-bundle td.product-subtotal{display:block !important;flex:1 1 auto;text-align:right;align-self:center;}
  /* Keep the package action row comfortable to tap; let Remove span full width if it wraps. */
  body.woocommerce-cart .mc-pkg-remove{flex:1 1 auto;}
}
