/* Midora cart --------------------------------------------------------------
 * Native WooCommerce cart semantics with a purpose-built responsive layout.
 * The mobile layer explicitly neutralizes WooCommerce's generic responsive
 * table labels where Midora owns the visual hierarchy, preventing duplicate
 * pseudo labels and narrow fixed columns from colliding in RTL.
 */

.woocommerce-cart .mra-main {
  padding-block: 22px 56px;
}

.woocommerce-cart .mra-entry-content > .woocommerce {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(300px,350px);
  grid-template-areas:
    "heading heading"
    "notice notice"
    "items summary"
    "cross cross";
  gap: 20px;
  align-items: start;
  max-width: 1240px;
  margin-inline: auto;
}

.woocommerce-cart .mra-transaction-heading {
  grid-area: heading;
  padding: 16px 20px;
  border: 1px solid var(--mra-line);
  border-radius: 16px;
  background: linear-gradient(135deg,#fff,var(--mra-surface-tint));
  text-align: center;
}

.woocommerce-cart .mra-transaction-heading h1 {
  margin: 0;
  font-size: clamp(21px,2vw,26px);
}

.woocommerce-cart .mra-transaction-heading p {
  margin: 4px 0 0;
  color: var(--mra-muted);
  font-size: 13px;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  grid-area: notice;
}

.woocommerce-cart .woocommerce-cart-form {
  grid-area: items;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--mra-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(0,0,0,.035);
}

.woocommerce-cart .cart-collaterals {
  grid-area: summary;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.woocommerce-cart .cross-sells {
  grid-area: cross;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  position: sticky;
  inset-block-start: calc(var(--mra-sticky-offset) + 14px);
  float: none;
  width: 100%;
  padding: 18px;
  border: 1px solid var(--mra-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(0,0,0,.045);
}

.woocommerce-cart .cart_totals h2 {
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--mra-line);
  font-size: 17px;
}

/* Cart table: desktop ----------------------------------------------------- */
.woocommerce-cart table.shop_table.cart {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
}

.woocommerce-cart table.shop_table.cart thead,
.woocommerce-cart table.shop_table.cart tbody,
.woocommerce-cart table.shop_table.cart tfoot {
  display: block;
  width: 100%;
}

.woocommerce-cart table.shop_table.cart thead tr,
.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
  display: grid;
  grid-template-columns: 88px minmax(210px,1.9fr) 100px 82px 108px 38px;
  grid-template-areas: "thumb name price quantity subtotal remove";
  gap: 14px;
  align-items: center;
}

.woocommerce-cart table.shop_table.cart thead tr {
  padding: 0 10px 9px;
  border-bottom: 1px solid var(--mra-line);
}

.woocommerce-cart table.shop_table.cart thead th {
  padding: 0;
  border: 0;
  color: var(--mra-muted);
  font-size: 12px;
  font-weight: 650;
  text-align: start;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail { grid-area: thumb !important; display: block !important; }
.woocommerce-cart table.shop_table.cart .product-name { grid-area: name; }
.woocommerce-cart table.shop_table.cart .product-price { grid-area: price; }
.woocommerce-cart table.shop_table.cart .product-quantity { grid-area: quantity; }
.woocommerce-cart table.shop_table.cart .product-subtotal { grid-area: subtotal; }
.woocommerce-cart table.shop_table.cart .product-remove { grid-area: remove; }

.woocommerce-cart table.shop_table.cart tbody {
  display: grid;
  gap: 9px;
  padding-top: 10px;
}

.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
  min-height: 110px;
  padding: 10px;
  border: 1px solid var(--mra-line);
  border-radius: 15px;
  background: #fff;
  transition: border-color var(--mra-motion-fast) ease, box-shadow var(--mra-motion-fast) ease;
}

.woocommerce-cart table.shop_table.cart tbody tr.cart_item:hover {
  border-color: color-mix(in srgb,var(--mra-accent) 18%,var(--mra-line));
  box-shadow: 0 8px 24px rgba(0,0,0,.035);
}

.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 13px;
  text-align: start;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail a {
  display: grid;
  place-items: center;
  width: 82px;
  height: 94px;
  overflow: hidden;
  border: 1px solid var(--mra-line);
  border-radius: 12px;
  background: #fafafa;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 5px;
  object-fit: contain;
}

.woocommerce-cart table.shop_table.cart .product-name > a {
  display: block;
  color: var(--mra-ink);
  font-size: 13.5px;
  font-weight: 720;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.woocommerce-cart table.shop_table.cart .product-name > a:hover { color: var(--mra-accent-dark); }

.woocommerce-cart table.shop_table.cart .variation {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 8px;
  margin: 5px 0 0;
  color: var(--mra-muted);
  font-size: 11.8px;
  line-height: 1.7;
}

.woocommerce-cart table.shop_table.cart .variation dt,
.woocommerce-cart table.shop_table.cart .variation dd {
  float: none;
  margin: 0;
  padding: 0;
}

.woocommerce-cart table.shop_table.cart .product-price,
.woocommerce-cart table.shop_table.cart .product-subtotal {
  color: var(--mra-ink);
  font-size: 12.5px;
  font-weight: 720;
  white-space: nowrap;
}

.woocommerce-cart table.shop_table.cart .product-subtotal { font-size: 13px; }

.woocommerce-cart .product-quantity {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.woocommerce-cart .quantity {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 38px;
  margin: 0 !important;
  border: 1px solid #dedee2;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.02);
  overflow: hidden;
}

.woocommerce-cart .quantity input.qty {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--mra-ink);
  font-size: 13px !important;
  font-weight: 680;
  text-align: center;
  box-shadow: none !important;
  appearance: textfield;
  -moz-appearance: textfield;
}

.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.woocommerce-cart .quantity :is(.minus,.plus,button) {
  display: grid;
  place-items: center;
  width: 34px;
  min-width: 34px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline-end: 1px solid var(--mra-line);
  border-radius: 0;
  background: #fafafa;
  color: #4d4d52;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
}

.woocommerce-cart .quantity :is(.plus,button:last-child) {
  border-inline-end: 0;
  border-inline-start: 1px solid var(--mra-line);
}

.woocommerce-cart .quantity :is(.minus,.plus,button):hover {
  background: var(--mra-surface-tint);
  color: var(--mra-accent-dark);
}

.woocommerce-cart .quantity :is(.minus,.plus,button):disabled {
  opacity: .38;
  cursor: not-allowed;
  background: #fafafa;
  color: #8d8d92;
}

.woocommerce-cart table.shop_table.cart .product-remove a.remove {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin: auto;
  border: 1px solid var(--mra-line);
  border-radius: 10px;
  background: #fff;
  color: var(--mra-muted) !important;
  font-size: 0;
  transition: background var(--mra-motion-fast) ease, border-color var(--mra-motion-fast) ease, color var(--mra-motion-fast) ease;
}

.woocommerce-cart table.shop_table.cart .product-remove a.remove::before {
  content: "";
  width: 15px;
  height: 15px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 10v6M14 10v6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 10v6M14 10v6'/%3E%3C/svg%3E") center/contain no-repeat;
}

.woocommerce-cart table.shop_table.cart .product-remove a.remove:hover {
  border-color: #efcaca;
  background: #fff5f5;
  color: var(--mra-danger) !important;
}

/* Cart actions ------------------------------------------------------------ */
.woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions {
  display: grid;
  grid-template-columns: minmax(260px,1fr) auto;
  gap: 10px;
  margin-top: 12px;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--mra-line) !important;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon {
  width: min(100%,520px);
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 8px;
  float: none;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
  min-height: 44px;
  margin: 0 !important;
  padding-inline: 13px !important;
  border-color: #d9d9df;
  border-radius: 10px !important;
  background: #fff;
}
.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text:focus {
  border-color: color-mix(in srgb,var(--mra-action-base) 40%,#cfcfd5);
  box-shadow: 0 0 0 3px rgba(174,14,89,.08);
}
.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
  flex: 0 0 auto;
  min-width: 122px;
  min-height: 44px !important;
  padding-inline: 16px !important;
  white-space: nowrap;
}

.woocommerce-cart .button {
  min-height: 42px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

.woocommerce-cart table.shop_table.cart td.actions > button[name=update_cart] { justify-self: end; }

/* Totals ------------------------------------------------------------------ */
.woocommerce-cart .cart_totals table.shop_table {
  width: 100%;
  margin: 0 0 14px;
  border: 0;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  padding: 9px 0;
  border-bottom: 1px solid var(--mra-line);
  font-size: 12.5px;
}

.woocommerce-cart .cart_totals table.shop_table td { text-align: end; }

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding-top: 12px;
  border-bottom: 0;
  font-size: 13.5px;
}

.woocommerce-cart .cart_totals .order-total strong {
  color: var(--mra-ink);
  font-size: 16px;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
  margin: 0;
  padding: 0;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods label,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
  overflow-wrap: anywhere;
}

.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 0 16px;
  border-radius: 11px;
  background: var(--mra-action-gradient);
  color: #fff;
  box-shadow: var(--mra-action-shadow);
  font-size: 13px;
  font-weight: 750;
}

.woocommerce-cart .cross-sells > h2 {
  margin: 26px 0 14px;
  font-size: 21px;
}

/* Tablet and phone cart cards -------------------------------------------- */
@media (max-width: 980px) {
  .woocommerce-cart .mra-entry-content > .woocommerce {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "notice" "items" "summary" "cross";
    max-width: 780px;
  }

  .woocommerce-cart .cart-collaterals .cart_totals { position: static; }
  .woocommerce-cart table.shop_table.cart thead { display: none; }

  /* WooCommerce's small-screen stylesheet adds floated data-title labels and
     block-cell alignment. Midora's card grid owns these labels explicitly. */
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item td::before {
    display: none !important;
    content: none !important;
    float: none !important;
  }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    position: relative;
    grid-template-columns: 82px minmax(0,1fr) minmax(98px,max-content);
    grid-template-areas:
      "thumb name name"
      "thumb price subtotal"
      "thumb quantity quantity";
    gap: 6px 10px;
    min-height: 116px;
  }

  .woocommerce-cart table.shop_table.cart .product-remove {
    position: absolute;
    inset-block-start: 9px;
    inset-inline-end: 9px;
    z-index: 2;
    width: 34px;
    height: 34px;
  }

  .woocommerce-cart table.shop_table.cart .product-name {
    min-width: 0;
    padding-inline-end: 42px !important;
    text-align: start !important;
  }

  .woocommerce-cart table.shop_table.cart .product-thumbnail a { margin: 0; }

  .woocommerce-cart table.shop_table.cart .product-price,
  .woocommerce-cart table.shop_table.cart .product-subtotal {
    display: grid !important;
    gap: 1px;
    align-content: center;
    min-width: 0;
    white-space: nowrap;
  }

  .woocommerce-cart table.shop_table.cart .product-price { text-align: start !important; }
  .woocommerce-cart table.shop_table.cart .product-subtotal { text-align: end !important; }

  .woocommerce-cart table.shop_table.cart .product-price::before,
  .woocommerce-cart table.shop_table.cart .product-subtotal::before {
    display: block !important;
    content: attr(data-title) !important;
    float: none !important;
    margin: 0 0 1px;
    color: var(--mra-muted);
    font-size: 10.5px;
    font-weight: 620;
    line-height: 1.35;
  }

  .woocommerce-cart table.shop_table.cart .product-quantity {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    padding-top: 3px !important;
    text-align: start !important;
  }

  .woocommerce-cart table.shop_table.cart .product-quantity::before {
    display: inline !important;
    content: attr(data-title) !important;
    float: none !important;
    flex: 0 0 auto;
    color: var(--mra-muted);
    font-size: 10.5px;
    font-weight: 620;
  }

  .woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions { grid-template-columns: 1fr; }
  .woocommerce-cart table.shop_table.cart td.actions > button[name=update_cart] { justify-self: stretch; }
}

@media (max-width: 560px) {
  .woocommerce-cart .mra-main { padding-block: 14px 34px; }

  .woocommerce-cart .mra-transaction-heading {
    padding: 14px 12px;
    border-radius: 14px;
  }

  .woocommerce-cart .mra-transaction-heading h1 { font-size: 20px; }
  .woocommerce-cart .mra-transaction-heading p { font-size: 12px; line-height: 1.75; }

  .woocommerce-cart .woocommerce-cart-form {
    padding: 9px;
    border-radius: 15px;
    box-shadow: none;
  }

  .woocommerce-cart table.shop_table.cart tbody { gap: 8px; padding-top: 4px; }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 68px minmax(0,1fr) minmax(88px,max-content);
    padding: 8px;
    gap: 5px 8px;
    border-radius: 13px;
  }

  .woocommerce-cart table.shop_table.cart .product-thumbnail a {
    width: 66px;
    height: 76px;
    border-radius: 10px;
  }

  .woocommerce-cart table.shop_table.cart .product-thumbnail img { padding: 4px; }

  .woocommerce-cart table.shop_table.cart .product-name > a {
    font-size: 12.8px;
    line-height: 1.7;
  }

  .woocommerce-cart table.shop_table.cart .product-price,
  .woocommerce-cart table.shop_table.cart .product-subtotal {
    font-size: 11.8px;
  }

  .woocommerce-cart table.shop_table.cart .product-price::before,
  .woocommerce-cart table.shop_table.cart .product-subtotal::before,
  .woocommerce-cart table.shop_table.cart .product-quantity::before {
    font-size: 9.8px;
  }

  .woocommerce-cart table.shop_table.cart .product-remove {
    inset-block-start: 8px;
    inset-inline-end: 8px;
  }

  .woocommerce-cart table.shop_table.cart .product-remove a.remove {
    width: 32px;
    height: 32px;
    border-radius: 9px;
  }

  .woocommerce-cart .quantity input.qty {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }

  .woocommerce-cart .quantity :is(.minus,.plus,button) {
    width: 32px;
    min-width: 32px;
  }

  .woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions {
    gap: 8px;
    margin-top: 9px;
    padding-top: 10px !important;
  }

  .woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions .coupon {
    width: 100%;
    display: flex;
    gap: 7px;
  }

  .woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
  }

  .woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    flex: 0 0 116px;
    min-width: 116px;
    padding-inline: 10px !important;
  }

  /* A disabled update button communicates no available action while consuming
     valuable phone space. WooCommerce removes disabled as soon as qty changes. */
  .woocommerce-cart table.shop_table.cart td.actions > button[name=update_cart]:disabled {
    display: none !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    padding: 15px;
    border-radius: 15px;
    box-shadow: none;
  }

  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td {
    font-size: 12px;
  }

  .woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    margin: 6px 0 0;
    font-size: 11px;
    line-height: 1.75;
  }
}

@media (max-width: 380px) {
  .woocommerce-cart .woocommerce-cart-form { padding: 7px; }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 62px minmax(0,1fr) minmax(82px,max-content);
    gap: 5px 6px;
    padding: 7px;
  }

  .woocommerce-cart table.shop_table.cart .product-thumbnail a {
    width: 60px;
    height: 70px;
  }

  .woocommerce-cart table.shop_table.cart .product-name { padding-inline-end: 38px !important; }
  .woocommerce-cart table.shop_table.cart .product-name > a { font-size: 12.2px; }
  .woocommerce-cart table.shop_table.cart .product-price,
  .woocommerce-cart table.shop_table.cart .product-subtotal { font-size: 11.2px; }

}


@media (max-width: 330px) {
  .woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions .coupon { flex-direction: column; }
  .woocommerce-cart table.shop_table.cart td.actions .coupon .button { width: 100%; flex-basis: auto; }
}

/* Midora 1.27.22 — cart interaction + summary refinement -----------------
 * WooCommerce keeps ownership of form semantics and AJAX processing. Midora
 * only improves the layout and progressively hides the manual update control
 * after cart.js confirms that automatic updates are available.
 */
.woocommerce-cart {
  --mra-cart-total: #176b47;
  --mra-cart-total-soft: #f3f9f6;
  --mra-cart-total-line: #d7e9df;
}

.woocommerce-cart table.shop_table.cart .product-subtotal .amount {
  color: var(--mra-cart-total);
  font-weight: 780;
}

body.mra-cart-auto-update .woocommerce-cart-form :is(button,input)[name="update_cart"] {
  display: none !important;
}

.woocommerce-cart .woocommerce-cart-form.is-auto-updating {
  cursor: progress;
}

/* Cart totals: deliberate label/value columns with a prominent final total. */
.woocommerce-cart .cart_totals table.shop_table {
  display: block;
  margin-bottom: 16px;
}

.woocommerce-cart .cart_totals table.shop_table tbody {
  display: grid;
  gap: 0;
  width: 100%;
}

.woocommerce-cart .cart_totals table.shop_table tr {
  display: grid;
  grid-template-columns: minmax(92px,.72fr) minmax(0,1.28fr);
  gap: 16px;
  align-items: start;
  width: 100%;
  padding: 12px 0;
  border-bottom: 1px solid var(--mra-line);
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  display: block;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 1.75;
}

.woocommerce-cart .cart_totals table.shop_table th {
  color: #4f4f54;
  font-weight: 690;
  text-align: start;
}

.woocommerce-cart .cart_totals table.shop_table td {
  color: var(--mra-ink);
  font-weight: 650;
  text-align: end !important;
  overflow-wrap: anywhere;
}

.woocommerce-cart .cart_totals table.shop_table td::before {
  display: none !important;
  content: none !important;
}

.woocommerce-cart .cart_totals table.shop_table td > :first-child { margin-top: 0; }
.woocommerce-cart .cart_totals table.shop_table td > :last-child { margin-bottom: 0; }

.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
  display: grid;
  gap: 7px;
  width: 100%;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
  min-width: 0;
  line-height: 1.75;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
  display: inline;
  min-width: 0;
  color: #343438;
  font-weight: 650;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
  margin: 7px 0 0;
  color: var(--mra-muted);
  font-size: 11.5px;
  line-height: 1.8;
}

.woocommerce-cart .cart_totals .order-total {
  grid-template-columns: minmax(92px,.72fr) minmax(0,1.28fr);
  margin-top: 5px;
  padding: 13px 12px !important;
  border: 1px solid var(--mra-cart-total-line) !important;
  border-radius: 12px;
  background: var(--mra-cart-total-soft);
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding: 0 !important;
  border: 0 !important;
}

.woocommerce-cart .cart_totals .order-total th {
  color: #244c3a;
  font-size: 13.5px;
  font-weight: 780;
}

.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total td strong,
.woocommerce-cart .cart_totals .order-total .amount {
  color: var(--mra-cart-total) !important;
  font-size: 17px;
  font-weight: 820;
  font-variant-numeric: tabular-nums;
}

/* Responsive cart cards. The remove control owns a real grid cell instead of
   absolute positioning, so it cannot sit over price/subtotal content. */
@media (max-width: 980px) {
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 82px minmax(0,1fr) minmax(110px,max-content) 38px;
    grid-template-areas:
      "thumb name name remove"
      "thumb price subtotal subtotal"
      "thumb quantity quantity quantity";
    gap: 7px 10px;
  }

  .woocommerce-cart table.shop_table.cart .product-remove {
    position: static;
    grid-area: remove;
    align-self: start;
    justify-self: end;
    width: 34px;
    height: 34px;
  }

  .woocommerce-cart table.shop_table.cart .product-name {
    padding-inline-end: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart .product-price,
  .woocommerce-cart table.shop_table.cart .product-subtotal {
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    column-gap: 7px;
    row-gap: 0;
  }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item .product-price::before,
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item .product-subtotal::before {
    display: block !important;
    content: attr(data-title) !important;
    float: none !important;
    margin: 0 !important;
    color: var(--mra-muted);
    font-size: 10.5px;
    font-weight: 620;
    line-height: 1.35;
  }

  .woocommerce-cart table.shop_table.cart .product-price .amount,
  .woocommerce-cart table.shop_table.cart .product-subtotal .amount {
    justify-self: end;
    font-variant-numeric: tabular-nums;
  }

  .woocommerce-cart table.shop_table.cart .product-quantity {
    min-width: 0;
  }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item .product-quantity::before {
    display: inline !important;
    content: attr(data-title) !important;
    float: none !important;
    flex: 0 0 auto;
    color: var(--mra-muted);
    font-size: 10.5px;
    font-weight: 620;
  }
}

@media (max-width: 560px) {
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 68px minmax(0,1fr) 34px;
    grid-template-areas:
      "thumb name remove"
      "thumb price price"
      "thumb subtotal subtotal"
      "thumb quantity quantity";
    gap: 6px 8px;
    min-height: 0;
  }

  .woocommerce-cart table.shop_table.cart .product-remove {
    width: 32px;
    height: 32px;
  }

  .woocommerce-cart table.shop_table.cart .product-price,
  .woocommerce-cart table.shop_table.cart .product-subtotal {
    width: 100%;
    min-height: 27px;
    padding-block: 2px !important;
  }

  .woocommerce-cart table.shop_table.cart .product-quantity {
    justify-content: space-between;
    min-height: 39px;
    padding-top: 5px !important;
    border-top: 1px dashed #eeeef1;
  }

  .woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions {
    grid-template-columns: 1fr;
  }

  .woocommerce-cart .cart_totals table.shop_table tr {
    grid-template-columns: minmax(80px,.68fr) minmax(0,1.32fr);
    gap: 12px;
    padding-block: 11px;
  }

  .woocommerce-cart .cart_totals .order-total {
    grid-template-columns: minmax(80px,.68fr) minmax(0,1.32fr);
    padding: 12px 10px !important;
  }

  .woocommerce-cart .cart_totals .order-total td,
  .woocommerce-cart .cart_totals .order-total td strong,
  .woocommerce-cart .cart_totals .order-total .amount {
    font-size: 16px;
  }
}

@media (max-width: 380px) {
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 62px minmax(0,1fr) 32px;
  }

  .woocommerce-cart .cart_totals table.shop_table tr,
  .woocommerce-cart .cart_totals .order-total {
    grid-template-columns: 74px minmax(0,1fr);
    gap: 10px;
  }
}


/* Midora 1.27.25 — checkout-only delivery policy -------------------------
 * Shipping method/destination/calculator UI is intentionally absent from the
 * cart. PHP prevents these rows from rendering; these selectors are a defensive
 * compatibility layer for extensions that inject equivalent markup late. */
.woocommerce-cart .cart_totals tr.shipping,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-form {
  display: none !important;
}
