.elementor-15 .elementor-element.elementor-element-e8e466f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-52a08de{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-15 .elementor-element.elementor-element-e8e466f{--content-width:1280px;}}/* Start custom CSS *//* ─────────────────────────────────────────────────
   Arrow Hair & Beauty — Cart Page Styling
   Scoped to .woocommerce-cart body class so it only
   affects the cart page, not your existing styling.
   ───────────────────────────────────────────────── */

.woocommerce-cart {
  --ahb-navy: #202567;
  --ahb-navy-dk: #171b52;
  --ahb-beige: #c5a682;
  --ahb-beige-lt: #e3d2bb;
  --ahb-white: #ffffff;
  --ahb-white-alt: #faf9f7;
  --ahb-ink: #1a1a1a;
  --ahb-muted: #6b6b6b;
  --ahb-border: rgba(32, 37, 103, 0.12);
  --ahb-border-strong: rgba(32, 37, 103, 0.22);
  --ahb-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ── Page wrapper ── */
.woocommerce-cart .woocommerce {
  font-family: var(--ahb-sans);
  color: var(--ahb-ink);
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 20px;
}

/* ── Page heading (if you don't use a hero container) ── */
.woocommerce-cart h1.entry-title,
.woocommerce-cart .page-title {
  font-family: var(--ahb-sans);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ahb-navy);
  margin: 0 0 28px;
}

/* ── Notices (success / info / error) ── */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error {
  border-radius: 2px;
  border-top: 2px solid var(--ahb-beige);
  background: var(--ahb-white-alt);
  color: var(--ahb-ink);
  padding: 14px 18px;
  font-size: 14px;
}
.woocommerce-cart .woocommerce-notices-wrapper .button {
  background: var(--ahb-navy);
  color: var(--ahb-white);
  border: 1.5px solid var(--ahb-navy);
}

/* ── Cart table ── */
.woocommerce-cart table.shop_table {
  width: 100%;
  border: 1px solid var(--ahb-border);
  border-radius: 2px;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--ahb-white);
  margin: 0 0 32px;
}

.woocommerce-cart table.shop_table thead th {
  background: var(--ahb-navy);
  color: var(--ahb-white);
  font-family: var(--ahb-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 14px 18px;
  text-align: left;
  border: none;
}

.woocommerce-cart table.shop_table tbody tr {
  border-bottom: 1px solid var(--ahb-border);
}

.woocommerce-cart table.shop_table tbody td {
  padding: 18px;
  vertical-align: middle;
  font-size: 14px;
  border-top: 1px solid var(--ahb-border);
  background: var(--ahb-white);
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 2px;
  border: 1px solid var(--ahb-border);
}

.woocommerce-cart table.shop_table .product-name a {
  color: var(--ahb-navy);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--ahb-beige);
}

.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  font-weight: 600;
  color: var(--ahb-ink);
}

/* Remove (×) button */
.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: transparent !important;
  color: var(--ahb-muted) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: var(--ahb-navy) !important;
  color: var(--ahb-white) !important;
}

/* Quantity input */
.woocommerce-cart .quantity input.qty {
  width: 64px;
  padding: 8px 10px;
  font-family: var(--ahb-sans);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  background: var(--ahb-white);
  border: 1.5px solid var(--ahb-border-strong);
  border-radius: 2px;
  color: var(--ahb-navy);
  transition: border-color 0.2s ease;
}
.woocommerce-cart .quantity input.qty:focus {
  outline: none;
  border-color: var(--ahb-navy);
}

/* Coupon row */
.woocommerce-cart table.shop_table .actions {
  padding: 18px;
  background: var(--ahb-white-alt);
  border-top: 1px solid var(--ahb-border);
}
.woocommerce-cart .coupon {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.woocommerce-cart .coupon input.input-text {
  padding: 11px 14px;
  font-family: var(--ahb-sans);
  font-size: 13px;
  background: var(--ahb-white);
  border: 1.5px solid var(--ahb-border-strong);
  border-radius: 2px;
  color: var(--ahb-ink);
  min-width: 200px;
  transition: border-color 0.2s ease;
}
.woocommerce-cart .coupon input.input-text:focus {
  outline: none;
  border-color: var(--ahb-navy);
}

/* ── Buttons (universal) ── */
.woocommerce-cart .woocommerce button.button,
.woocommerce-cart .woocommerce input.button,
.woocommerce-cart .woocommerce a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 22px;
  font-family: var(--ahb-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--ahb-white);
  color: var(--ahb-navy);
  border: 1.5px solid var(--ahb-navy);
  border-radius: 2px;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease;
}
.woocommerce-cart .woocommerce button.button:hover,
.woocommerce-cart .woocommerce input.button:hover,
.woocommerce-cart .woocommerce a.button:hover {
  background: var(--ahb-navy);
  color: var(--ahb-white);
}

/* Primary "Proceed to checkout" button — solid navy, fills on hover with darker */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--ahb-navy);
  color: var(--ahb-white);
  border-color: var(--ahb-navy);
  width: 100%;
  padding: 14px 22px;
  font-size: 12px;
  margin-top: 14px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--ahb-navy-dk);
  border-color: var(--ahb-navy-dk);
}

/* ── Cart totals box ── */
.woocommerce-cart .cart-collaterals {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-top: 32px;
}

/* ─────────────────────────────────────────────────
   Cart layout — match widths, stack vertically
   Works for both shortcode and dedicated cart page
   ───────────────────────────────────────────────── */
@media (min-width: 768px) {
  .woocommerce .woocommerce-cart-form,
  .woocommerce .cart-collaterals,
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce .cart-collaterals .cross-sells {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  .woocommerce .cart-collaterals {
    margin-top: 24px;
  }
}

.woocommerce-cart .cart_totals {
  background: var(--ahb-white);
  border: 1px solid var(--ahb-border);
  border-top: 2px solid var(--ahb-beige);
  border-radius: 2px;
  padding: 24px 22px;
}

.woocommerce-cart .cart_totals h2 {
  font-family: var(--ahb-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ahb-navy);
  margin: 0 0 16px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--ahb-beige);
}

.woocommerce-cart .cart_totals table {
  width: 100%;
  border: none;
  background: transparent;
  margin: 0;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 10px 0;
  border-top: 1px solid var(--ahb-border);
  background: transparent;
  font-size: 14px;
  vertical-align: top;
}

.woocommerce-cart .cart_totals table tr:first-child th,
.woocommerce-cart .cart_totals table tr:first-child td {
  border-top: none;
}

.woocommerce-cart .cart_totals table th {
  font-family: var(--ahb-sans);
  font-weight: 600;
  color: var(--ahb-muted);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-align: left;
}

.woocommerce-cart .cart_totals table td {
  text-align: right;
  color: var(--ahb-ink);
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size: 16px;
  font-weight: 700;
  color: var(--ahb-navy);
  padding-top: 16px;
  letter-spacing: 0;
  text-transform: none;
}

.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
  font-size: 20px;
}

/* Shipping calculator */
.woocommerce-cart .shipping-calculator-button {
  color: var(--ahb-navy);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 13px;
}
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid var(--ahb-border-strong);
  border-radius: 2px;
  font-size: 13px;
  margin-top: 8px;
  background: var(--ahb-white);
}

/* ── Cross-sells (if WC outputs them) ── */
.woocommerce-cart .cross-sells > h2 {
  font-family: var(--ahb-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ahb-navy);
  margin: 0 0 16px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--ahb-beige);
}

/* ── Empty cart state ── */
.woocommerce-cart .cart-empty {
  background: var(--ahb-white);
  border: 1px solid var(--ahb-border);
  border-top: 2px solid var(--ahb-beige);
  border-radius: 2px;
  padding: 40px 24px;
  text-align: center;
  font-size: 15px;
  color: var(--ahb-muted);
}
.woocommerce-cart .return-to-shop {
  text-align: center;
  margin-top: 20px;
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .woocommerce-cart table.shop_table thead { display: none; }
  .woocommerce-cart table.shop_table tbody tr {
    display: block;
    margin-bottom: 16px;
    border: 1px solid var(--ahb-border);
    border-radius: 2px;
    background: var(--ahb-white);
  }
  .woocommerce-cart table.shop_table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--ahb-border);
    padding: 12px 14px;
  }
  .woocommerce-cart table.shop_table tbody td:first-child { border-top: none; }
  .woocommerce-cart table.shop_table tbody td::before {
    content: attr(data-title);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ahb-muted);
    margin-right: 12px;
  }
  .woocommerce-cart table.shop_table .actions { display: block; }
  .woocommerce-cart .coupon { width: 100%; flex-direction: column; align-items: stretch; }
  .woocommerce-cart .coupon input.input-text { min-width: 0; width: 100%; }
}

/* ─────────────────────────────────────────────────
   Cart — mobile alignment fixes
   ───────────────────────────────────────────────── */

@media (max-width: 767px) {

  /* Page wrapper — tighter padding so cards have room */
  .woocommerce-cart .woocommerce {
    padding: 0 12px;
    margin: 24px auto;
  }

  /* ── Cart line-item card ── */
  .woocommerce-cart table.shop_table tbody td {
    padding: 14px 16px;
    gap: 12px;
    min-height: 0;
  }

  /* Product name should wrap, not stretch right */
  .woocommerce-cart table.shop_table .product-name {
    text-align: right;
    line-height: 1.4;
  }
  .woocommerce-cart table.shop_table .product-name a {
    display: inline-block;
    text-align: right;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  /* Remove (×) row — left-align, no label */
  .woocommerce-cart table.shop_table .product-remove {
    justify-content: flex-start;
  }
  .woocommerce-cart table.shop_table .product-remove::before {
    display: none;
  }

  /* Quantity input shouldn't be tiny */
  .woocommerce-cart .quantity input.qty {
    width: 70px;
  }

  /* ── Coupon + actions row ── */
  .woocommerce-cart table.shop_table .actions {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .woocommerce-cart .coupon {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }
  .woocommerce-cart .coupon input.input-text {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .woocommerce-cart .coupon button[name="apply_coupon"],
  .woocommerce-cart button[name="update_cart"] {
    width: 100%;
    padding: 13px 16px;
  }

  /* ── Cart totals box ── */
  .woocommerce-cart .cart_totals {
    padding: 20px 16px;
  }

  /* Force totals rows into stacked label-above-value layout
     so "Shipping to..." and similar long strings can breathe */
  .woocommerce-cart .cart_totals table {
    display: block;
  }
  .woocommerce-cart .cart_totals table tbody {
    display: block;
    width: 100%;
  }
  .woocommerce-cart .cart_totals table tr {
    display: block;
    width: 100%;
    padding: 12px 0;
    border-top: 1px solid var(--ahb-border);
  }
  .woocommerce-cart .cart_totals table tr:first-child {
    border-top: none;
    padding-top: 0;
  }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    text-align: left;
  }
  .woocommerce-cart .cart_totals table th {
    margin-bottom: 6px;
    font-size: 11px;
    letter-spacing: 0.14em;
  }
  .woocommerce-cart .cart_totals table td {
    font-size: 15px;
    color: var(--ahb-ink);
    line-height: 1.5;
  }

  /* Order total — keep emphasis but stay left-aligned for consistency */
  .woocommerce-cart .cart_totals .order-total {
    background: var(--ahb-white-alt);
    margin: 8px -16px 0;
    padding: 16px 16px 4px;
    border-top: 2px solid var(--ahb-beige);
  }
  .woocommerce-cart .cart_totals .order-total th {
    font-size: 12px;
    color: var(--ahb-navy);
    margin-bottom: 4px;
  }
  .woocommerce-cart .cart_totals .order-total td {
    font-size: 22px;
    color: var(--ahb-navy);
  }
  .woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    font-size: 22px;
  }

  /* Shipping cell specifically — tame the long address block */
  .woocommerce-cart .cart_totals .shipping td {
    font-size: 14px;
    color: var(--ahb-ink);
  }
  .woocommerce-cart .cart_totals .shipping ul#shipping_method {
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
  }
  .woocommerce-cart .cart_totals .shipping ul#shipping_method li {
    padding: 6px 0;
  }
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination {
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--ahb-muted);
    line-height: 1.5;
  }
  .woocommerce-cart .cart_totals .shipping-calculator-button {
    display: inline-block;
    margin-top: 6px;
    font-size: 13px;
  }

  /* Proceed to checkout — make sure label fits */
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    padding: 15px 16px;
    font-size: 12px;
    letter-spacing: 0.12em;
    white-space: nowrap;
  }
}

/* Extra tightening for very narrow phones (≤380px) */
@media (max-width: 380px) {
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    letter-spacing: 0.08em;
    font-size: 11px;
  }
  .woocommerce-cart table.shop_table tbody td::before {
    font-size: 10px;
  }
}

/* ─────────────────────────────────────────────────
   Cart — mobile overflow + apply coupon fixes
   ───────────────────────────────────────────────── */

@media (max-width: 767px) {

  /* Stop ANYTHING in the cart from forcing horizontal overflow */
  .woocommerce-cart .woocommerce,
  .woocommerce-cart .woocommerce *,
  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals,
  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Force the cart-collaterals grid to behave on mobile */
  .woocommerce-cart .cart-collaterals {
    display: block !important;
    width: 100%;
  }
  .woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* The totals table itself — kill any inherited min-width */
  .woocommerce-cart .cart_totals table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
  }

  /* Order total row — fix the price overflow specifically */
  .woocommerce-cart .cart_totals .order-total {
    margin: 8px 0 0;       /* drop the negative -16px margin from earlier */
    padding: 16px 0 4px;
  }
  .woocommerce-cart .cart_totals .order-total td,
  .woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    word-wrap: break-word;
    overflow-wrap: anywhere;
    max-width: 100%;
  }

  /* ── Apply coupon button — text was being clipped ── */
  .woocommerce-cart .coupon button[name="apply_coupon"],
  .woocommerce-cart button[name="update_cart"] {
    width: 100%;
    min-height: 44px;
    padding: 12px 14px;
    font-size: 11px;
    letter-spacing: 0.1em;
    line-height: 1.2;
    white-space: normal;       /* allow wrap if needed */
    box-sizing: border-box;
  }

  /* Belt-and-braces: any stray inline width on shop_table cells */
  .woocommerce-cart table.shop_table th[width],
  .woocommerce-cart table.shop_table td[width] {
    width: auto !important;
  }
}

/* ─────────────────────────────────────────────────
   Cart — shipping row clean stacked layout (mobile)
   ───────────────────────────────────────────────── */

@media (max-width: 767px) {

  /* Override the 3-column shipping cell — make the whole row a clean block */
  .woocommerce-cart .cart_totals .shipping {
    display: block;
    padding: 14px 0;
  }
  
  /* Section label "Shipment" / "Shipping" — pulled to the top, uppercase tag style */
  .woocommerce-cart .cart_totals .shipping th {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ahb-muted);
    margin: 0 0 10px;
    padding: 0;
  }
  
  /* The td contains the shipping method + destination + change link.
     Force them all into a single left-aligned stack */
  .woocommerce-cart .cart_totals .shipping td {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0;
    line-height: 1.5;
  }
  
  /* Shipping method radio/list — each option on its own row */
  .woocommerce-cart .cart_totals .shipping ul#shipping_method,
  .woocommerce-cart .cart_totals .shipping ul.woocommerce-shipping-methods {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
  }
  .woocommerce-cart .cart_totals .shipping ul#shipping_method li,
  .woocommerce-cart .cart_totals .shipping ul.woocommerce-shipping-methods li {
    padding: 4px 0;
    font-size: 14px;
    color: var(--ahb-ink);
    font-weight: 600;
  }
  
  /* "Shipping to..." destination block — clean address card */
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination {
    margin: 0 0 8px;
    padding: 12px 14px;
    background: var(--ahb-white-alt);
    border: 1px solid var(--ahb-border);
    border-radius: 2px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ahb-ink);
  }
  
  /* The bold address parts (postcode, etc.) inside the destination */
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination strong {
    display: inline;
    font-weight: 600;
    color: var(--ahb-navy);
  }
  
  /* Add line breaks between address parts using ::after on the bold segments
     — but since WC renders all the address as one bold span, easier solution: */
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination {
    word-spacing: 0.05em;
  }
  
  /* "Change address" link / shipping calculator toggle — make it a button-style row below */
  .woocommerce-cart .cart_totals .shipping .shipping-calculator-button,
  .woocommerce-cart .cart_totals .shipping a.shipping-calculator-button {
    display: inline-block;
    margin: 0;
    padding: 8px 14px;
    background: transparent;
    color: var(--ahb-navy);
    border: 1px solid var(--ahb-border-strong);
    border-radius: 2px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
  }
  .woocommerce-cart .cart_totals .shipping .shipping-calculator-button:hover {
    background: var(--ahb-navy);
    color: var(--ahb-white);
  }
  
  /* Hide the default ":" separator that WC sometimes adds between method and destination */
  .woocommerce-cart .cart_totals .shipping td > br + br {
    display: none;
  }
  
  /* The shipping calculator form when expanded */
  .woocommerce-cart .cart_totals .shipping .shipping-calculator-form {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--ahb-border);
  }
}

/* ─────────────────────────────────────────────────
   Cart — shipping row final tidy (mobile)
   ───────────────────────────────────────────────── */

@media (max-width: 767px) {

  /* Reset the totals box padding so child rows can hit the edge */
  .woocommerce-cart .cart_totals {
    padding: 0 !important;
  }
  .woocommerce-cart .cart_totals h2 {
    padding: 20px 16px 12px;
    margin: 0;
    border-bottom: 1px solid var(--ahb-border);
  }

  /* All totals rows — full-width edge-to-edge dividers */
  .woocommerce-cart .cart_totals table tr {
    padding: 14px 16px !important;
    margin: 0 !important;
    border-top: 1px solid var(--ahb-border);
  }
  .woocommerce-cart .cart_totals table tr:first-child {
    border-top: none;
  }

  /* Order-total row — keep its emphasis but full-width */
  .woocommerce-cart .cart_totals .order-total {
    background: var(--ahb-white-alt);
    border-top: 2px solid var(--ahb-beige) !important;
    padding: 16px !important;
    margin: 0 !important;
  }

  /* ── Shipping row specifically ── */
  .woocommerce-cart .cart_totals .shipping {
    padding: 14px 16px !important;
  }

  /* KILL the duplicate "Shipment" — the ::before pseudo from earlier
     responsive CSS is firing on top of the actual <th> */
  .woocommerce-cart .cart_totals .shipping th::before,
  .woocommerce-cart .cart_totals .shipping td::before,
  .woocommerce-cart .cart_totals tr th::before,
  .woocommerce-cart .cart_totals tr td::before {
    display: none !important;
    content: none !important;
  }

  /* Section label at top */
  .woocommerce-cart .cart_totals .shipping th {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ahb-muted);
    margin: 0 0 10px;
  }

  /* Shipping method (Pickup line) — match brand, smaller, fit in box */
  .woocommerce-cart .cart_totals .shipping ul#shipping_method li,
  .woocommerce-cart .cart_totals .shipping ul.woocommerce-shipping-methods li,
  .woocommerce-cart .cart_totals .shipping td > .woocommerce-shipping-methods + *,
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-totals {
    font-size: 13px !important;
    font-weight: 600;
    color: var(--ahb-navy) !important;
    line-height: 1.4;
    text-align: left;
  }

  /* If WC outputs the method as plain text in the td (no <ul>),
     scope down its size too */
  .woocommerce-cart .cart_totals .shipping td {
    font-size: 13px;
    color: var(--ahb-navy);
  }

  /* Address card — tighten and inline-feel */
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination {
    margin: 10px 0 12px;
    padding: 10px 12px;
    background: var(--ahb-white-alt);
    border: 1px solid var(--ahb-border);
    border-radius: 2px;
    font-size: 12px;
    line-height: 1.55;
    color: var(--ahb-ink);
    text-align: left;
  }
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination strong {
    color: var(--ahb-navy);
    font-weight: 600;
  }

  /* Change address button — outline style, no stray bottom border */
  .woocommerce-cart .cart_totals .shipping a.shipping-calculator-button,
  .woocommerce-cart .cart_totals .shipping .shipping-calculator-button {
    display: inline-block;
    margin: 0;
    padding: 9px 14px;
    background: transparent;
    color: var(--ahb-navy);
    border: 1px solid var(--ahb-border-strong);
    border-bottom: 1px solid var(--ahb-border-strong); /* defeat any UA underline */
    border-radius: 2px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none !important;
  }
  .woocommerce-cart .cart_totals .shipping a.shipping-calculator-button:hover {
    background: var(--ahb-navy);
    color: var(--ahb-white);
    border-color: var(--ahb-navy);
  }
}

/* ─────────────────────────────────────────────────
   Cart — restore consistent padding inside totals (mobile)
   ───────────────────────────────────────────────── */

@media (max-width: 767px) {

  /* Each row needs internal padding restored so labels don't kiss the borders */
  .woocommerce-cart .cart_totals table tr {
    padding: 14px 18px !important;
  }

  /* Subtotal / VAT / standard rows — give them breathing room and split the label/value cleanly */
  .woocommerce-cart .cart_totals table tr:not(.shipping):not(.order-total) {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .woocommerce-cart .cart_totals table tr:not(.shipping):not(.order-total) th {
    margin: 0;
    flex: 0 0 auto;
  }
  .woocommerce-cart .cart_totals table tr:not(.shipping):not(.order-total) td {
    margin: 0;
    text-align: right;
    flex: 1 1 auto;
    font-size: 14px;
    color: var(--ahb-ink);
  }

  /* Subtotal row — show the "Subtotal" label which was hidden by earlier rules */
  .woocommerce-cart .cart_totals .cart-subtotal th {
    display: inline-block !important;
    width: auto !important;
  }

  /* Shipping row — proper internal padding */
  .woocommerce-cart .cart_totals .shipping {
    padding: 16px 18px !important;
  }

  /* Address card breathing room */
  .woocommerce-cart .cart_totals .shipping .woocommerce-shipping-destination {
    padding: 12px 14px;
    margin: 10px 0 14px;
  }

  /* Order total row — symmetrical padding, label + value on one line */
  .woocommerce-cart .cart_totals .order-total {
    padding: 18px !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .woocommerce-cart .cart_totals .order-total th {
    display: inline-block !important;
    width: auto !important;
    margin: 0;
    font-size: 12px;
    color: var(--ahb-navy);
    flex: 0 0 auto;
  }
  .woocommerce-cart .cart_totals .order-total td {
    margin: 0;
    text-align: right;
    flex: 1 1 auto;
  }
  .woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    font-size: 22px;
    font-weight: 700;
  }

  /* Header padding looked fine but make sure heading and divider are aligned with row padding */
  .woocommerce-cart .cart_totals h2 {
    padding: 20px 18px 14px;
  }

  /* Proceed to checkout — sit it nicely below the totals box, not flush */
  .woocommerce-cart .wc-proceed-to-checkout {
    padding: 16px 18px 18px;
    margin: 0;
  }
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    margin-top: 0;
  }
}/* End custom CSS */