/* UNLAYERED OVERRIDE ZONE: preserves precedence over WooCommerce/plugin CSS. */
/* Enterprise page: cart. */

/* Cart restore: safe shell only. */
body.rp-theme.woocommerce-cart .site-main {
  max-width:var(--container);
  margin:0 auto;
}
body.rp-theme.woocommerce-cart .entry-content > .woocommerce,
body.rp-theme.woocommerce-cart .woocommerce {
  width:100%;
}
body.rp-theme.woocommerce-cart .woocommerce-cart-form,
body.rp-theme.woocommerce-cart .cart_totals,
body.rp-theme.woocommerce-cart .cross-sells {
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  padding:28px;
}
body.rp-theme.woocommerce-cart .cart-collaterals {
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:24px;
  align-items:start;
  margin-top:24px;
}
body.rp-theme.woocommerce-cart .cart_totals {
  width:auto;
  float:none;
}
body.rp-theme.woocommerce-cart .cross-sells {
  width:auto;
  float:none;
}
body.rp-theme.woocommerce-cart table.shop_table {
  border:0;
  border-collapse:separate;
  border-spacing:0;
}
body.rp-theme.woocommerce-cart table.shop_table th,
body.rp-theme.woocommerce-cart table.shop_table td {
  border-left:0;
  border-right:0;
}
body.rp-theme.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  width:100%;
  min-height:56px;
  border-radius:var(--radius-pill);
  background:#000;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.rp-theme.woocommerce-cart .actions .coupon {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
body.rp-theme.woocommerce-cart .actions .coupon .input-text {
  min-height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 14px;
}

/* Cart page WooCommerce action buttons visual lock. */
body.rp-theme.woocommerce-cart .site-main .woocommerce a.button.add_to_cart_button,
body.rp-theme.woocommerce-cart .site-main .woocommerce a.button.product_type_simple,
body.rp-theme.woocommerce-cart .site-main .woocommerce a.button.product_type_variable,
body.rp-theme.woocommerce-cart .site-main .woocommerce a.button.product_type_grouped,
body.rp-theme.woocommerce-cart .site-main .woocommerce a.button.product_type_external,
body.rp-theme.woocommerce-cart .site-main .woocommerce button.button:not(:disabled),
body.rp-theme.woocommerce-cart .site-main .woocommerce input.button:not(:disabled),
body.rp-theme.woocommerce-cart .site-main .woocommerce .button[name="apply_coupon"],
body.rp-theme.woocommerce-cart .site-main .woocommerce .wc-proceed-to-checkout .checkout-button,
body.rp-theme.woocommerce-cart .site-main .woocommerce a.added_to_cart {
  min-height:48px;
  border:1px solid #000;
  border-radius:var(--radius-pill);
  background:#000;
  color:#fff;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
  line-height:1;
}
body.rp-theme.woocommerce-cart .site-main .woocommerce .cart .button:disabled,
body.rp-theme.woocommerce-cart .site-main .woocommerce .cart .button.disabled,
body.rp-theme.woocommerce-cart .site-main .woocommerce button.button:disabled,
body.rp-theme.woocommerce-cart .site-main .woocommerce input.button:disabled {
  min-height:48px;
  border:1px solid #8d8d8d;
  border-radius:var(--radius-pill);
  background:#8d8d8d;
  color:#fff;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
  line-height:1;
  opacity:1;
}


/* Enterprise WooCommerce cart mobile layer. */
@media (max-width:767px) {
  
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr,
  body.rp-theme.woocommerce-page.woocommerce-cart table.shop_table_responsive tr {
    display:block;
    border-top:1px solid rgba(0,0,0,.08);
    padding:12px 0;
  }
}

/* Mobile cart page alignment and WooCommerce responsive table lock. */
@media (max-width:767px) {
  body.rp-theme.woocommerce-cart,
  body.rp-theme.woocommerce-cart .app,
  body.rp-theme.woocommerce-cart .site-main {
    max-width:100vw;
    overflow-x:hidden;
  }

  body.rp-theme.woocommerce-cart .site-main {
    box-sizing:border-box;
    width:100%;
    padding-left:12px;
    padding-right:12px;
  }

  body.rp-theme.woocommerce-cart .entry-content,
  body.rp-theme.woocommerce-cart .entry-content > .woocommerce,
  body.rp-theme.woocommerce-cart .woocommerce,
  body.rp-theme.woocommerce-cart .woocommerce-cart-form,
  body.rp-theme.woocommerce-cart .cart-collaterals,
  body.rp-theme.woocommerce-cart .cart_totals {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    float:none;
    overflow-x:hidden;
  }

  body.rp-theme.woocommerce-cart .cart-collaterals {
    display:block;
    margin-top:18px;
  }

  body.rp-theme.woocommerce-cart .woocommerce-cart-form,
  body.rp-theme.woocommerce-cart .cart_totals,
  body.rp-theme.woocommerce-cart .cross-sells {
    padding:18px;
    border-radius:22px;
  }

  body.rp-theme.woocommerce-cart table.shop_table,
  body.rp-theme.woocommerce-cart table.shop_table_responsive,
  body.rp-theme.woocommerce-cart .shop_table.cart {
    display:block;
    width:100%;
    max-width:100%;
    border-collapse:separate;
    border-spacing:0;
    table-layout:auto;
    overflow:hidden;
  }

  body.rp-theme.woocommerce-cart table.shop_table thead,
  body.rp-theme.woocommerce-cart table.shop_table_responsive thead {
    display:none;
  }

  body.rp-theme.woocommerce-cart table.shop_table tbody,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tbody,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr,
  body.rp-theme.woocommerce-cart table.shop_table tr {
    display:block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item {
    border-top:0;
    border-bottom:1px solid rgba(0,0,0,.08);
    padding:0 0 14px;
    margin-bottom:14px;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    border:0;
    border-top:1px solid rgba(0,0,0,.06);
    padding:12px 0;
    text-align:right;
    white-space:normal;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td::before,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td::before {
    content:attr(data-title);
    flex:0 0 auto;
    max-width:48%;
    color:var(--text);
    font-weight:900;
    letter-spacing:-.02em;
    text-align:left;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td.product-remove,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td.product-name {
    justify-content:flex-start;
    text-align:left;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove::before,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td.product-remove::before,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail::before,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail::before,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name::before,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td.product-name::before {
    content:"";
    display:none;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail img,
  body.rp-theme.woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail img {
    width:76px;
    max-width:76px;
    height:auto;
    border-radius:12px;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive .quantity,
  body.rp-theme.woocommerce-cart table.shop_table .quantity {
    margin-left:auto;
  }

  body.rp-theme.woocommerce-cart table.shop_table_responsive .quantity input.qty,
  body.rp-theme.woocommerce-cart table.shop_table .quantity input.qty {
    max-width:92px;
    text-align:center;
  }

  body.rp-theme.woocommerce-cart table.shop_table tr td.actions,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr td.actions {
    display:block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    border-top:1px solid rgba(0,0,0,.08);
    padding-top:16px;
    text-align:left;
  }

  body.rp-theme.woocommerce-cart table.shop_table tr td.actions::before,
  body.rp-theme.woocommerce-cart table.shop_table_responsive tr td.actions::before {
    content:"";
    display:none;
  }

  body.rp-theme.woocommerce-cart .actions .coupon {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:stretch;
    width:100%;
    max-width:100%;
  }

  body.rp-theme.woocommerce-cart .actions .coupon .input-text,
  body.rp-theme.woocommerce-cart .actions .coupon .button,
  body.rp-theme.woocommerce-cart .actions > .button {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  body.rp-theme.woocommerce-cart .cart_totals table.shop_table,
  body.rp-theme.woocommerce-cart .cart_totals table.shop_table tbody,
  body.rp-theme.woocommerce-cart .cart_totals table.shop_table tr {
    display:block;
    width:100%;
    max-width:100%;
  }

  body.rp-theme.woocommerce-cart .cart_totals table.shop_table tr {
    padding:14px 0;
    border-top:1px solid rgba(0,0,0,.08);
  }

  body.rp-theme.woocommerce-cart .cart_totals table.shop_table th,
  body.rp-theme.woocommerce-cart .cart_totals table.shop_table td {
    display:block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    border:0;
    padding:4px 0;
    text-align:left;
  }

  body.rp-theme.woocommerce-cart .cart_totals table.shop_table td {
    text-align:right;
  }

  body.rp-theme.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
  body.rp-theme.woocommerce-cart .cart_totals ul#shipping_method {
    width:100%;
    max-width:100%;
    padding-left:0;
    margin-left:0;
    list-style:none;
  }

  body.rp-theme.woocommerce-cart .cart_totals .woocommerce-shipping-methods li,
  body.rp-theme.woocommerce-cart .cart_totals ul#shipping_method li {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  body.rp-theme.woocommerce-cart .wc-proceed-to-checkout,
  body.rp-theme.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
}
