/* ============================================================
   ESW Cart redesign — Mconnect_CartEnhance (checkout_cart_index)
   DESIGN + COLOR ONLY. No layout/structure/functionality changes.
   Matches the checkout shipping page design language (white cards,
   navy headings, blue pill buttons, soft borders, rounded 14px).
   Scoped to .checkout-cart-index.
   ============================================================ */
.checkout-cart-index{
  --navy:#14296b; --blue:#1344b1; --royal:#114ccf;
  --green:#0f9447; --green-bg:#e7f6ee; --red:#bc1212;
  --gold:#fdc700; --ink:#1f2746; --ink-soft:#51597a; --muted:#727b93;
  --line:#e7eaf3; --line-strong:#d8deec; --tint:#eef2fb;
  --cshadow:0 1px 2px rgba(20,41,107,.04),0 8px 24px rgba(20,41,107,.06);
  --cr:14px;
}

/* ---------- 1) Title: align to the 1320 site rail + breathing room ---------- */
.checkout-cart-index .page-main{ max-width:var(--maxw,1320px); }
@media (min-width:768px){
  .checkout-cart-index .page-main{ padding-left:0; padding-right:0; }
}
.checkout-cart-index .page-title-wrapper{ margin:34px 0 20px; }
.checkout-cart-index .page-title-wrapper .page-title{ margin:0; }
.checkout-cart-index .page-title-wrapper .page-title .base{
  font-weight:800; color:var(--navy); font-size:30px; letter-spacing:.2px;
}

/* ---------- 2) Status / coupon success message ---------- */
.checkout-cart-index .cart-container .message,
.checkout-cart-index .page.messages .message{
  border-radius:10px; border:1px solid var(--line); font-size:13.5px;
}
.checkout-cart-index .page.messages .message-success{
  background:var(--green-bg); border-color:#bfe3cd; color:#176b39;
}

/* ---------- 3) Free-shipping progress bar -> themed card ---------- */
.checkout-cart-index .mc-cart-freeship{
  border-radius:var(--cr) !important; box-shadow:var(--cshadow);
  border:1px solid var(--line) !important; background:#fff !important;
  border-left:4px solid var(--gold) !important; color:var(--ink) !important;
  padding:14px 18px !important;
}

/* ---------- 4) Items table -> white card ---------- */
.checkout-cart-index .cart.table-wrapper{
  background:#fff; border:1px solid var(--line); border-radius:var(--cr);
  box-shadow:var(--cshadow); padding:4px 22px 8px; margin-bottom:18px;
}
.checkout-cart-index .cart.table-wrapper .cart > thead > tr > th{
  color:var(--muted); text-transform:uppercase; letter-spacing:.4px;
  font-size:12px; font-weight:700; border-bottom:1px solid var(--line); padding-bottom:12px;
}
.checkout-cart-index .cart.table-wrapper .cart > tbody > tr{ border-bottom:1px solid var(--line); }
.checkout-cart-index .cart.table-wrapper .cart > tbody > tr:last-child{ border-bottom:0; }
/* remove the separator under the LAST item */
.checkout-cart-index .cart.table-wrapper .cart > tbody.item:last-of-type > .item-info,
.checkout-cart-index .cart.table-wrapper .cart > tbody.item:last-of-type > .item-info > td{ border-bottom:0 !important; }
/* (product image border lives on .product-image-container — see §9) */
.checkout-cart-index .cart.table-wrapper .product-item-name a{
  color:var(--blue); font-weight:600; font-size:15px;
}
.checkout-cart-index .cart.table-wrapper .product-item-name a:hover{ color:var(--royal); }
.checkout-cart-index .cart.table-wrapper .esw-item-sku{ color:var(--muted); }
.checkout-cart-index .cart.table-wrapper .price,
.checkout-cart-index .cart.table-wrapper .cart-price .price{ color:var(--ink); font-weight:700; }
.checkout-cart-index .cart.table-wrapper td.col.subtotal .price,
.checkout-cart-index .cart.table-wrapper td.col.subtotal .esw-rowtotal-now{ color:var(--navy); font-weight:800; font-size:1.8rem; }

/* qty input -> rounded field */
.checkout-cart-index .cart.table-wrapper .input-text.qty{
  border:1px solid var(--line-strong); border-radius:9px; height:40px; width:54px;
  text-align:center; color:var(--ink); font-weight:700; box-shadow:none;
}
.checkout-cart-index .cart.table-wrapper .input-text.qty:focus{
  border-color:var(--blue); box-shadow:0 0 0 3px rgba(19,68,177,.12);
}

/* "Remove item" already has the trash icon (esw-theme.css) — match color to theme red */
.checkout-cart-index .cart.item .action-delete{ color:var(--red); font-weight:600; }

/* cart bottom actions (Update / Continue Shopping) -> ghost pills */
.checkout-cart-index .cart.main.actions .action,
.checkout-cart-index .cart.main.actions .continue,
.checkout-cart-index .cart.main.actions .update{
  border-radius:999px; border:1.5px solid var(--line-strong); background:#fff;
  color:var(--blue); font-weight:700; box-shadow:none;
}
.checkout-cart-index .cart.main.actions .action:hover{ border-color:#bcc7e6; background:var(--tint); }

/* ---------- 5) Summary -> white card ---------- */
.checkout-cart-index .cart-summary{
  background:#fff; border:1px solid var(--line); border-radius:var(--cr);
  box-shadow:var(--cshadow); padding:22px; color:var(--ink);
}
.checkout-cart-index .cart-summary > .summary.title{
  font-weight:800; text-transform:uppercase; letter-spacing:.4px;
  color:var(--navy); font-size:19px; margin:0 0 14px; display:block;
}
.checkout-cart-index .cart-summary .table-wrapper{ margin:0; }
.checkout-cart-index .cart-summary .totals .mark,
.checkout-cart-index .cart-summary .totals th{ color:var(--ink-soft); font-weight:600; font-size:13.5px; }
.checkout-cart-index .cart-summary .totals .amount,
.checkout-cart-index .cart-summary .totals td{ color:var(--ink); font-weight:700; font-size:13.5px; text-align:right; }
.checkout-cart-index .cart-summary .totals.sub .amount,
.checkout-cart-index .cart-summary .totals.shipping .amount{ font-weight:700; }
/* discount / coupon rows in green */
.checkout-cart-index .cart-summary .totals.discount .amount,
.checkout-cart-index .cart-summary .totals-tax-summary .amount{ color:var(--green); }
/* grand total emphasised */
.checkout-cart-index .cart-summary .grand.totals .mark,
.checkout-cart-index .cart-summary .grand.totals strong{ color:var(--navy); font-weight:800; font-size:15px; }
.checkout-cart-index .cart-summary .grand.totals .amount,
.checkout-cart-index .cart-summary .grand.totals .price{ color:var(--navy); font-weight:800; font-size:22px; }
.checkout-cart-index .cart-summary .grand.totals{ border-top:1px solid var(--line); }

/* Proceed to Checkout -> blue pill */
.checkout-cart-index .cart-summary .checkout-methods-items .action.primary.checkout,
.checkout-cart-index .checkout-methods-items .action.primary.checkout{
  border-radius:999px; background:var(--blue); border:0; padding:14px 26px;
  font-weight:700; font-size:15px; box-shadow:0 6px 16px rgba(19,68,177,.28);
}
.checkout-cart-index .checkout-methods-items .action.primary.checkout:hover{ background:var(--royal); }

/* multishipping / secondary links under checkout button */
.checkout-cart-index .checkout-methods-items .action.multicheckout,
.checkout-cart-index .cart-summary a{ color:var(--blue); }

/* ---------- 7) Compact item rows (less vertical whitespace) ---------- */
/* smaller thumbnail -> shorter rows */
.checkout-cart-index .cart.table-wrapper .product-item-photo{ width:90px; padding:0 14px 0 0; vertical-align:top; }
.checkout-cart-index .cart.table-wrapper .product-item-photo .product-image-photo,
.checkout-cart-index .cart.table-wrapper .product-item-photo img{ width:90px; height:auto; }
/* tighten the product-info row: top-align, trim padding */
.checkout-cart-index #shopping-cart-table > tbody.item > .item-info > td,
.checkout-cart-index .cart.items.table > tbody.item > .item-info > td{
  padding-top:20px; padding-bottom:20px; vertical-align:top;
}
/* pull "Remove item" up tight under the product, trim the bottom gap */
.checkout-cart-index #shopping-cart-table > tbody.item > .item-actions > td,
.checkout-cart-index .cart.items.table > tbody.item > .item-actions > td{
  padding:0 0 14px;
}
.checkout-cart-index .cart.table-wrapper .item-actions .actions-toolbar{ margin:0; }
.checkout-cart-index .cart.table-wrapper .item-actions .action-delete{ padding:6px 12px; }
/* tighten the name / sku / badge stack */
.checkout-cart-index .cart.table-wrapper .product-item-details{ padding-top:0; }
.checkout-cart-index .cart.table-wrapper .product-item-name{ margin:0 0 2px; line-height:1.3; }
.checkout-cart-index .cart.table-wrapper .esw-item-sku{ margin-top:2px; }
.checkout-cart-index .cart.table-wrapper .esw-item-discount-tag{ margin-top:5px !important; }

/* ---------- 9) Cart thumbnail aspect-ratio 150/160 (generalized from the dynamic .product-image-container-NNNN) ---------- */
.checkout-cart-index .cart.table-wrapper .product-image-container{
  display:block; width:90px !important; aspect-ratio:150 / 160; height:auto !important;
  border:1px solid var(--line-strong); border-radius:10px; overflow:hidden; background:#fff;
}
.checkout-cart-index .cart.table-wrapper .product-image-container .product-image-wrapper{
  display:block; padding:0 !important; width:100%; height:100%;
}
.checkout-cart-index .cart.table-wrapper .product-image-photo{
  position:static !important; width:100% !important; height:100% !important; object-fit:contain;
}

/* ---------- 8) Remove = trash ICON in its OWN column; hide the old action row ---------- */
.checkout-cart-index .cart.table-wrapper .item-actions{ display:none; }
.checkout-cart-index .cart.table-wrapper .col.remove{ width:48px; text-align:center; vertical-align:top; }
/* keep the "Remove" header for a11y but hide it visually (icon column) */
.checkout-cart-index .cart.table-wrapper th.col.remove > span{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); border:0;
}
.checkout-cart-index .cart.table-wrapper .esw-remove-inline{
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; line-height:0;
}
.checkout-cart-index .cart.table-wrapper .esw-remove-inline > span{ display:none; }   /* hide text, keep trash ::before icon */
.checkout-cart-index .cart.table-wrapper .esw-remove-inline::before{ margin:0; }
.checkout-cart-index .cart.table-wrapper .esw-remove-inline:hover::before{ opacity:.75; }

/* ---------- 6) "Apply Discount Code" heading -> match SUMMARY title + top spacing ---------- */
.checkout-cart-index #block-discount{ margin-top:26px; }
.checkout-cart-index #block-discount > .title{ display:block !important; margin:0 0 14px; }
.checkout-cart-index #block-discount > .title > strong,
.checkout-cart-index #block-discount-heading{
  font-weight:800; text-transform:uppercase; letter-spacing:.4px;
  color:var(--navy); font-size:15px; line-height:1.2;
}

/* === Estimate Tax box (shipping rates removed; tax-only) 2026-06-18 === */
.checkout-cart-index #block-shipping.esw-estimate-tax #co-shipping-method-form{ display:none !important; }
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate > .legend,
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate > .legend + br{ display:none !important; }
.checkout-cart-index .esw-tax-estimate{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  margin-top:16px; padding:12px 14px;
  background:#eef2fb; border:1px solid #e7eaf3; border-radius:10px;
}
.checkout-cart-index .esw-tax-estimate-label{ color:#14296b; font-weight:700; font-size:14px; }
.checkout-cart-index .esw-tax-estimate-amount{ color:#0f9447; font-weight:800; font-size:16px; white-space:nowrap; }

/* === Cart column widths 2026-06-18: summary = 360px @1320 container (1440 viewport), responsive % === */
@media (min-width:768px){
  .checkout-cart-index .cart-container .form-cart{ width:68.73%; }   /* ~908px @1320 */
  .checkout-cart-index .cart-summary{ width:27.27%; }               /* = 360px @1320 */
}

/* ===================== Compact summary 2026-06-18 ===================== */
.checkout-cart-index .cart-summary{ padding:15px 16px; }
.checkout-cart-index .cart-summary > .summary.title{ font-size:17px; margin:0 0 8px; padding-bottom:8px; border-bottom:1px solid var(--line); }
/* Estimate Tax collapsible + form */
.checkout-cart-index #block-shipping{ margin-bottom:4px; }
.checkout-cart-index #block-shipping .title[data-role=title]{ padding:9px 0; }
.checkout-cart-index #block-shipping #block-summary{ padding:0; }
.checkout-cart-index #block-shipping .fieldset.estimate{ margin:0; padding:0; }
.checkout-cart-index #block-shipping .field.note{ margin:0 0 8px; font-size:12px; line-height:1.35; }
.checkout-cart-index #block-shipping .fieldset.estimate .field{ margin:0 0 8px; }
.checkout-cart-index #block-shipping .fieldset.estimate .field > .label{ margin:0 0 3px; padding:0; font-weight:700; font-size:12.5px; }
.checkout-cart-index #block-shipping .fieldset.estimate .field .control{ width:100%; }
.checkout-cart-index #block-shipping .fieldset.estimate select,
.checkout-cart-index #block-shipping .fieldset.estimate input{ height:36px; }
/* Tax pill */
.checkout-cart-index .esw-tax-estimate{ margin-top:10px; padding:9px 12px; border-radius:9px; }
.checkout-cart-index .esw-tax-estimate-label{ font-size:13px; }
.checkout-cart-index .esw-tax-estimate-amount{ font-size:15px; }
/* Totals rows */
.checkout-cart-index .cart-summary .cart-totals{ padding-top:10px; }
.checkout-cart-index .cart-summary .totals th,
.checkout-cart-index .cart-summary .totals td{ padding-top:5px !important; padding-bottom:5px !important; }
.checkout-cart-index .cart-summary .grand.totals th,
.checkout-cart-index .cart-summary .grand.totals td{ padding-top:9px !important; padding-bottom:9px !important; }
.checkout-cart-index .cart-summary .grand.totals .amount,
.checkout-cart-index .cart-summary .grand.totals .price{ font-size:20px; }
/* Coupon box + discount */
.checkout-cart-index .cart-summary .mconnect-available-coupons{ margin:12px 0 0 !important; padding:12px 14px !important; }
.checkout-cart-index .cart-summary .mconnect-available-coupons .mac-row,
.checkout-cart-index .cart-summary .mconnect-available-coupons li{ padding:8px 0 !important; }
.checkout-cart-index #block-discount{ margin-top:14px; }
/* Checkout button */
.checkout-cart-index .checkout-methods-items{ margin-top:12px; }
.checkout-cart-index .checkout-methods-items .action.primary.checkout{ padding:12px 24px; }

/* USA-only store: hide Country in cart Estimate Tax (always US) to save space (2026-06-19) */
.checkout-cart-index #block-shipping .fieldset.estimate .field:has(select[name="country_id"]) { display: none !important; }
.checkout-cart-index #block-shipping .fieldset.estimate .field[name="country_id"] { display: none !important; }

/* Match "Estimate Tax" title to the "Apply discount code" title (font size + color) 2026-06-19 */
.checkout-cart-index #block-shipping > .title > strong,
.checkout-cart-index #block-shipping-heading {
  font-weight:800; text-transform:uppercase; letter-spacing:.4px;
  color:var(--navy); font-size:15px; line-height:1.2;
}
.checkout-cart-index #block-shipping > .title { margin:0 0 14px; padding:0; }

/* remove grey top border/line above Estimate Tax block (2026-06-19) */
.checkout-cart-index #block-shipping,
.checkout-cart-index .cart-summary .block.shipping { border-top:0 !important; padding-top:0 !important; }
.checkout-cart-index #block-shipping > .title { border-top:0 !important; }

/* remove the "Enter your delivery address..." note from Estimate Tax box (2026-06-19) */
.checkout-cart-index #block-shipping .field.note { display:none !important; }

/* free-shipping bar: force full-width at top of cart, above items + summary (2026-06-19) */
.checkout-cart-index .cart-container .mc-cart-freeship{ width:100% !important; float:none !important; clear:both !important; order:-1; margin:0 0 16px !important; }

/* Estimate Tax loader: spinner while totals/tax recalculate (2026-06-19) */
.checkout-cart-index .esw-tax-loading{ display:flex; align-items:center; gap:8px; margin-top:12px; padding:9px 12px; background:#eef2fb; border:1px solid #e7eaf3; border-radius:9px; color:#14296b; font-weight:700; font-size:13px; }
.checkout-cart-index .esw-tax-spinner{ width:16px; height:16px; border:2px solid #c7d3ef; border-top-color:#1344b1; border-radius:50%; animation:esw-tax-spin .7s linear infinite; flex:none; }
@keyframes esw-tax-spin{ to { transform:rotate(360deg); } }

/* Estimate Tax result -> clean row matching the summary total rows (2026-06-19) */
.checkout-cart-index .esw-tax-estimate{
  display:flex !important; align-items:baseline; justify-content:space-between; gap:10px;
  margin-top:12px !important; padding:11px 0 0 !important;
  background:none !important; border:0 !important; border-top:1px solid var(--line) !important; border-radius:0 !important;
}
.checkout-cart-index .esw-tax-estimate-label{ color:var(--ink-soft) !important; font-weight:600 !important; font-size:13.5px !important; }
.checkout-cart-index .esw-tax-estimate-amount{ color:var(--green) !important; font-weight:700 !important; font-size:13.5px !important; }

/* applied coupon chip: show "Remove" on hover (2026-06-19) */
.checkout-cart-index .mconnect-available-coupons .mac-apply[data-applied="1"]{ position:relative; }
.checkout-cart-index .mconnect-available-coupons .mac-apply[data-applied="1"]:hover .mac-apply-text{ visibility:hidden; }
.checkout-cart-index .mconnect-available-coupons .mac-apply[data-applied="1"]:hover::after{ content:"Remove"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#c0392b; font-weight:700; font-size:13px; }

/* Estimate Tax result -> dashed light-blue box matching the demo banner (2026-06-19) */
.checkout-cart-index .esw-tax-estimate{
  display:flex !important; align-items:center; justify-content:space-between; gap:10px;
  margin-top:14px !important; padding:12px 14px !important;
  background:var(--tint, #f3f6fc) !important; border:1px dashed #b9c6ee !important; border-radius:10px !important;
}
.checkout-cart-index .esw-tax-estimate-label{ color:var(--navy) !important; font-weight:700 !important; font-size:14px !important; }
.checkout-cart-index .esw-tax-estimate-amount{ color:var(--green) !important; font-weight:800 !important; font-size:15px !important; white-space:nowrap; }

/* Estimate Tax result: remove background, keep dashed border (2026-06-19) */
.checkout-cart-index .esw-tax-estimate{ background:none !important; }

/* Estimate Tax result: tighter top spacing (2026-06-19) */
.checkout-cart-index .esw-tax-estimate{ margin-top:5px !important; }

/* free-shipping bar: left column (above items); summary rises to top-right (2026-06-19) */
@media (min-width:768px){
  .checkout-cart-index .cart-container .mc-cart-freeship{
    width:68.73% !important; float:left !important; clear:none !important; order:0 !important; margin:0 0 16px !important;
  }
}

/* cart layout via GRID: bar+items left, summary right top-aligned (2026-06-19, supersedes float attempt) */
@media (min-width:768px){
  .checkout-cart-index .cart-container{
    display:grid !important;
    grid-template-columns: minmax(0,1fr) 360px !important;
    column-gap:32px !important;
    align-items:start !important;
  }
  .checkout-cart-index .cart-container .rewards{ display:none !important; }
  .checkout-cart-index .cart-container .mc-cart-freeship{ grid-column:1 !important; grid-row:1 !important; width:auto !important; max-width:none !important; float:none !important; clear:none !important; margin:0 0 16px !important; }
  .checkout-cart-index .cart-container .form-cart{ grid-column:1 !important; grid-row:2 !important; width:auto !important; float:none !important; }
  .checkout-cart-index .cart-container .cart-summary{ grid-column:2 !important; grid-row:1 / span 3 !important; width:auto !important; float:none !important; align-self:start !important; }
}

/* === Estimate Tax box -> card styled like the Offers (.mac-offers) card — 2026-06-26 === */
.checkout-cart-index .cart-summary #block-shipping.esw-estimate-tax{
  background:#fff;
  border:1px solid #e3e8f0;
  border-radius:14px;
  padding:18px;
  margin:14px 0 16px;
  box-shadow:0 1px 2px rgba(20,41,107,.04),0 8px 24px rgba(20,41,107,.05);
}
/* heading: match the Offers "h3" (18px / 800 / navy, no uppercase) */
.checkout-cart-index #block-shipping.esw-estimate-tax > .title > strong,
.checkout-cart-index #block-shipping.esw-estimate-tax #block-shipping-heading{
  font-size:18px; font-weight:800; color:#14296b;
  text-transform:none; letter-spacing:0; line-height:1.2;
}
.checkout-cart-index #block-shipping.esw-estimate-tax > .title{ margin:0 0 14px; padding:0; }
/* field labels + inputs: match the Offers card inputs (rounded, light) */
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate .field > .label{
  font-weight:700; font-size:12.5px; color:#14296b; margin:0 0 5px;
}
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate select,
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate input{
  height:46px; border:1.5px solid #e3e8f0; border-radius:11px; background:#fbfcff;
  padding:0 14px; font-size:14px; box-sizing:border-box; width:100%;
}
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate select:focus,
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate input:focus{
  border-color:#1344b1; box-shadow:0 0 0 3px rgba(19,68,177,.12); background:#fff; outline:none;
}
.checkout-cart-index #block-shipping.esw-estimate-tax .fieldset.estimate .field{ margin:0 0 14px; }
/* "Estimated Tax" result row: solid bordered box like an offer row (no dashed border) */
.checkout-cart-index #block-shipping.esw-estimate-tax .esw-tax-estimate{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:4px; padding:13px 15px;
  background:#f6f8fd; border:1.5px solid #e3e8f0; border-radius:12px;
}
.checkout-cart-index #block-shipping.esw-estimate-tax .esw-tax-estimate-label{
  color:#14296b; font-weight:700; font-size:14px;
}
.checkout-cart-index #block-shipping.esw-estimate-tax .esw-tax-estimate-amount{
  color:#0f9447; font-weight:800; font-size:17px; white-space:nowrap;
}

/* === Estimate Tax: remove collapsible dropdown — always open, no chevron (2026-06-26) === */
.checkout-cart-index #block-shipping.esw-no-collapse > .title{ cursor:default; pointer-events:none; }
.checkout-cart-index #block-shipping.esw-no-collapse > .title:after,
.checkout-cart-index #block-shipping.esw-no-collapse > .title > strong:after{ display:none !important; content:none !important; }
.checkout-cart-index #block-shipping.esw-no-collapse > .content,
.checkout-cart-index #block-shipping.esw-no-collapse #block-summary{ display:block !important; height:auto !important; }

/* === Estimate Tax: icon + heading row (match Offers head) + top spacing (2026-06-26) === */
.checkout-cart-index .cart-summary #block-shipping.esw-estimate-tax{ margin-top:18px; }
.checkout-cart-index #block-shipping.esw-estimate-tax > .title.esw-est-head{
  display:flex; align-items:center; gap:8px; margin:0 0 14px; padding:0;
}
.checkout-cart-index #block-shipping.esw-estimate-tax .esw-est-ic{ color:#14296b; flex:0 0 auto; }
.checkout-cart-index #block-shipping.esw-estimate-tax > .title.esw-est-head > strong{
  font-size:18px; font-weight:800; color:#14296b; text-transform:none; letter-spacing:0; line-height:1.2; margin:0;
}

/* === Estimate Tax: tax-exempt variant — show a note instead of the estimator (2026-06-26) ===
   #block-summary is kept in the DOM (cart totals depend on it) but hidden. */
.checkout-cart-index #block-shipping.esw-tax-exempt #block-summary{ display:none !important; }
.checkout-cart-index #block-shipping.esw-tax-exempt .esw-tax-exempt-msg{
  display:flex; align-items:flex-start; gap:8px;
  margin:2px 0 0; padding:13px 15px;
  background:#f0fbf5; border:1.5px solid #bfe6cf; border-radius:12px;
  color:#0f7a40; font-size:13.5px; line-height:1.5; font-weight:600;
}
.checkout-cart-index #block-shipping.esw-tax-exempt .title.esw-est-head .esw-est-ic{ color:#0f9447; }

/* === FIX (2026-06-27): kill the empty gap ABOVE the items.
   The summary spans 3 auto rows; its extra height was being spread across
   rows 1-3, inflating the free-ship (row1) and items (row2) tracks. Pin those
   two to content height and send all slack to row 3 (empty, below items). === */
@media (min-width:768px){
  .checkout-cart-index .cart-container{ grid-template-rows: auto auto 1fr !important; }
}

/* 2026-06-27: give the "Check Estimate Tax" heading proper top space inside the box (match the Offers card feel) */
.checkout-cart-index .cart-summary #block-shipping.esw-estimate-tax{ padding-top:24px !important; }
.checkout-cart-index #block-shipping.esw-estimate-tax > .title{ margin:0 0 16px !important; }
