/* AGWraps — native WooCommerce, Print Science and YITH presentation layer.
 * Functionality stays plugin-owned; these rules only style same-origin output.
 */

/* Native cart shell ------------------------------------------------------- */
.agwraps-native-cart-header {
  background: var(--black);
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin: 0 calc(50% - 50vw) 34px;
  padding: 30px max(24px, calc((100vw - 1380px) / 2));
  color: var(--white);
}
.agwraps-native-cart-header .cart-breadcrumb { margin-bottom: 14px; }
.agwraps-native-cart-header .cart-page-title { margin: 0 0 20px; }
.agwraps-native-cart-shell {
  width: min(1380px, calc(100% - 48px));
  margin: 0 auto 72px;
}
body.woocommerce-cart .woocommerce {
  width: 100%;
  max-width: none;
}
body.woocommerce-cart .woocommerce-notices-wrapper {
  width: min(1380px, calc(100% - 48px));
  margin: 18px auto 0;
}
body.woocommerce-cart form.woocommerce-cart-form {
  float: left;
  width: calc(100% - 410px);
  margin: 0;
}
body.woocommerce-cart table.shop_table {
  width: 100%;
  border: 1px solid var(--gray-200);
  border-collapse: collapse;
  background: var(--white);
  border-radius: 0;
}
body.woocommerce-cart table.shop_table thead {
  background: var(--black);
  color: var(--white);
}
body.woocommerce-cart table.shop_table th {
  padding: 14px 16px;
  border: 0;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
body.woocommerce-cart table.shop_table td {
  padding: 18px 16px;
  border: 0;
  border-bottom: 1px solid var(--gray-200);
  vertical-align: middle;
}
body.woocommerce-cart table.shop_table .product-thumbnail { width: 118px; }
body.woocommerce-cart table.shop_table .product-thumbnail img,
body.woocommerce-cart .wp2print img,
body.woocommerce-cart [class*="proof"] img,
body.woocommerce-cart [class*="preview"] img {
  display: block;
  width: 92px;
  max-width: 100%;
  height: 92px;
  object-fit: contain;
  background: var(--gray-100);
  border: 1px solid var(--gray-200);
}
body.woocommerce-cart table.shop_table .product-name > a {
  color: var(--black);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .5px;
  text-decoration: none;
  text-transform: uppercase;
}
body.woocommerce-cart table.shop_table dl.variation,
body.woocommerce-cart table.shop_table .wc-item-meta {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 4px 9px;
  margin: 9px 0 0;
  color: var(--gray-600);
  font-size: 12px;
}
body.woocommerce-cart table.shop_table dl.variation dt,
body.woocommerce-cart table.shop_table dl.variation dd,
body.woocommerce-cart table.shop_table .wc-item-meta li,
body.woocommerce-cart table.shop_table .wc-item-meta p { margin: 0; }
body.woocommerce-cart table.shop_table .quantity .qty {
  width: 72px;
  min-height: 42px;
  border: 1px solid var(--gray-200);
  text-align: center;
}
body.woocommerce-cart table.shop_table .product-remove a {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--gray-200);
  border-radius: 0;
  color: #9f2e24 !important;
  font-size: 21px;
  text-decoration: none;
}
body.woocommerce-cart table.shop_table .product-remove a:hover {
  border-color: #9f2e24;
  background: #fff0ee;
}
body.woocommerce-cart table.shop_table td.actions {
  padding: 16px;
  background: var(--off-white);
}
body.woocommerce-cart table.shop_table td.actions .coupon {
  display: flex;
  gap: 8px;
}
body.woocommerce-cart table.shop_table td.actions .coupon .input-text {
  width: 190px;
  min-height: 44px;
  border: 1px solid var(--gray-200);
  padding: 0 13px;
}
body.woocommerce-cart .cart-collaterals {
  float: right;
  width: 370px;
}
body.woocommerce-cart .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
  padding: 24px;
  border: 1px solid var(--gray-200);
  background: var(--off-white);
}
body.woocommerce-cart .cart-collaterals .cart_totals h2 {
  margin: 0 0 18px;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}
body.woocommerce-cart .cart-collaterals .cart_totals table { background: transparent; }
body.woocommerce-cart .cart-collaterals .cart_totals th,
body.woocommerce-cart .cart-collaterals .cart_totals td {
  padding: 13px 0;
  border-bottom: 1px solid var(--gray-200);
  background: transparent;
}
body.woocommerce-cart .wc-proceed-to-checkout { padding: 20px 0 0; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart table.shop_table .button,
body.woocommerce-cart button.button {
  min-height: 44px;
  border: 2px solid var(--yellow-border) !important;
  border-radius: 0 !important;
  background: var(--yellow) !important;
  color: var(--black) !important;
  font-family: var(--font-display) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  padding: 15px 18px;
  text-align: center;
}
body.woocommerce-cart .cross-sells { clear: both; padding-top: 52px; }

/* Print Science buttons, metadata and previews --------------------------- */
body.single-product :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"], [class*="personaliz"], [id*="personaliz"]),
body.woocommerce-cart :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"]),
body.agwraps-printscience-page :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"]) {
  font-family: var(--font-body);
}
body.single-product :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"]) :is(button, .button, input[type="button"], input[type="submit"], a.button),
body.woocommerce-cart :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"]) :is(button, .button, input[type="button"], input[type="submit"], a.button),
body.agwraps-printscience-page :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"]) :is(button, .button, input[type="button"], input[type="submit"], a.button) {
  min-height: 42px;
  padding: 11px 18px !important;
  border: 2px solid var(--yellow-border) !important;
  border-radius: 0 !important;
  background: var(--yellow) !important;
  box-shadow: none !important;
  color: var(--black) !important;
  font-family: var(--font-display) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 1.4px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}
body.single-product :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"]) :is(input[type="text"], input[type="email"], input[type="number"], select, textarea),
body.agwraps-printscience-page :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"]) :is(input[type="text"], input[type="email"], input[type="number"], select, textarea) {
  min-height: 44px;
  border: 1px solid var(--gray-200) !important;
  border-radius: 0 !important;
  background: var(--white) !important;
  padding: 10px 12px !important;
  color: var(--black) !important;
}
body.woocommerce-cart :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"], [class*="proof"], [class*="artwork"]) a:not(.remove) {
  color: #8a6a00;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.woocommerce-cart :is([class*="wp2print"], [id*="wp2print"], [class*="printscience"], [id*="printscience"], [class*="proof"], [class*="artwork"]) {
  max-width: 100%;
}

/* Same-origin plugin dialogs. The hosted Designer iframe itself remains
 * cross-origin, but its WordPress modal shell is branded here. */
body.single-product .ui-dialog:has([class*="wp2print"]),
body.single-product .ui-dialog:has([id*="wp2print"]),
body.single-product .ui-dialog:has([class*="printscience"]),
body.single-product .ui-dialog:has([id*="printscience"]),
body.single-product .ui-dialog:has([class*="upload"] [class*="file"]) {
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.24) !important;
  border-radius: 0 !important;
  background: var(--white) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.32) !important;
  font-family: var(--font-body) !important;
}
body.single-product .ui-dialog:has([class*="wp2print"]) .ui-dialog-titlebar,
body.single-product .ui-dialog:has([id*="wp2print"]) .ui-dialog-titlebar,
body.single-product .ui-dialog:has([class*="printscience"]) .ui-dialog-titlebar,
body.single-product .ui-dialog:has([id*="printscience"]) .ui-dialog-titlebar {
  border: 0 !important;
  border-bottom: 3px solid var(--yellow) !important;
  border-radius: 0 !important;
  background: var(--black) !important;
  padding: 15px 18px !important;
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Proof reception/history, private-store and account plugin views -------- */
body.agwraps-printscience-page .entry-content,
body.agwraps-printscience-page .site-main {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: 36px auto 72px !important;
}
body.agwraps-printscience-page :is(table, .shop_table) {
  width: 100%;
  border: 1px solid var(--gray-200);
  border-collapse: collapse;
  background: var(--white);
}
body.agwraps-printscience-page :is(th, td) {
  padding: 14px 16px;
  border-bottom: 1px solid var(--gray-200);
  text-align: left;
}
body.agwraps-printscience-page th {
  background: var(--black);
  color: var(--white);
  font-family: var(--font-display);
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* YITH Wishlist ---------------------------------------------------------- */
body.woocommerce-wishlist .yith-wcwl-form,
body.woocommerce-wishlist .wishlist-fragment,
body.woocommerce-wishlist .woocommerce {
  width: min(1280px, calc(100% - 48px));
  max-width: 1280px;
  margin: 36px auto 72px;
}
body.woocommerce-wishlist table.wishlist_table {
  border: 1px solid var(--gray-200);
  border-collapse: collapse;
  background: var(--white);
}
body.woocommerce-wishlist table.wishlist_table th {
  background: var(--black);
  color: var(--white);
  font-family: var(--font-display);
  letter-spacing: 1px;
  text-transform: uppercase;
}
body.woocommerce-wishlist table.wishlist_table td,
body.woocommerce-wishlist table.wishlist_table th { padding: 14px; border-bottom: 1px solid var(--gray-200); }
body.woocommerce-wishlist table.wishlist_table .product-name a {
  color: var(--black);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
}
body.woocommerce-wishlist .add_to_cart_button,
body.woocommerce-wishlist .button {
  border: 2px solid var(--yellow-border) !important;
  border-radius: 0 !important;
  background: var(--yellow) !important;
  color: var(--black) !important;
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

/* Payment wrappers can be styled; secure provider iframes/redirects cannot. */
body.woocommerce-checkout #payment,
body.woocommerce-order-pay #payment {
  border: 1px solid var(--gray-200);
  border-radius: 0;
  background: var(--off-white);
}
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-order-pay #payment .payment_box {
  border-radius: 0;
  background: var(--white);
}

/* Shared add-to-cart toast ----------------------------------------------- */
.ag-cart-toast {
  position: fixed;
  top: 96px;
  right: 24px;
  z-index: 100000;
  width: min(390px, calc(100vw - 32px));
  padding: 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-left: 5px solid var(--yellow);
  background: var(--black);
  box-shadow: 0 18px 50px rgba(0,0,0,.32);
  color: var(--white);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-14px);
  transition: opacity .2s ease, transform .2s ease;
}
.ag-cart-toast.show { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ag-cart-toast-close {
  position: absolute;
  top: 8px;
  right: 10px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.55);
  font-size: 24px;
  cursor: pointer;
}
.ag-cart-toast-title {
  margin-bottom: 5px;
  color: var(--yellow);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.ag-cart-toast-title::before { content: "✓ "; }
.ag-cart-toast-product {
  padding-right: 18px;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
}
.ag-cart-toast-message { margin-top: 7px; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.45; }
.ag-cart-toast-actions { display: flex; gap: 8px; margin-top: 15px; }
.ag-cart-toast-actions a {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid var(--yellow);
  background: var(--yellow);
  color: var(--black);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.ag-cart-toast-actions a:last-child { background: transparent; color: var(--yellow); }

@media (max-width: 980px) {
  body.woocommerce-cart form.woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals { float: none; width: 100%; }
  body.woocommerce-cart .cart-collaterals { margin-top: 28px; }
}
@media (max-width: 768px) {
  .agwraps-native-cart-shell,
  body.woocommerce-cart .woocommerce-notices-wrapper { width: calc(100% - 28px); }
  .agwraps-native-cart-header { padding: 22px 16px; margin-bottom: 18px; }
  body.woocommerce-cart table.shop_table_responsive thead { display: none; }
  body.woocommerce-cart table.shop_table_responsive tr {
    display: grid;
    grid-template-columns: 86px 1fr 34px;
    gap: 4px 12px;
    padding: 16px;
    border-bottom: 1px solid var(--gray-200);
  }
  body.woocommerce-cart table.shop_table_responsive td {
    display: block !important;
    width: auto !important;
    padding: 5px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }
  body.woocommerce-cart table.shop_table_responsive td::before { display: none !important; }
  body.woocommerce-cart table.shop_table_responsive .product-thumbnail { display: block !important; grid-row: 1 / span 4; grid-column: 1; }
  body.woocommerce-cart table.shop_table_responsive .product-name { grid-column: 2; }
  body.woocommerce-cart table.shop_table_responsive .product-remove { grid-column: 3; grid-row: 1; }
  body.woocommerce-cart table.shop_table_responsive .product-price,
  body.woocommerce-cart table.shop_table_responsive .product-quantity,
  body.woocommerce-cart table.shop_table_responsive .product-subtotal { grid-column: 2 / 4; }
  body.woocommerce-cart table.shop_table_responsive td.actions { display: block !important; padding: 14px !important; }
  body.woocommerce-cart table.shop_table td.actions .coupon { display: grid; grid-template-columns: 1fr auto; }
  body.woocommerce-cart table.shop_table td.actions .coupon .input-text { width: 100%; }
  .ag-cart-toast { top: auto; right: 16px; bottom: 88px; left: 16px; width: auto; }
}
body.woocommerce-cart .entry-header,
body.woocommerce-cart .entry-title { display: none !important; }
body.woocommerce-cart .agwraps-native-cart-shell::after { content: ""; display: table; clear: both; }

/* v1.5 — preserve and brand Print Science's native cart controls.
 * These selectors style plugin output only; no controls are recreated here. */
body.woocommerce-cart .woocommerce-cart-form :is(
  a[class*="wp2print"], button[class*="wp2print"], input[class*="wp2print"],
  a[class*="printscience"], button[class*="printscience"], input[class*="printscience"],
  a[class*="upload"], button[class*="upload"], input[class*="upload"],
  a[class*="modify"], button[class*="modify"], input[class*="modify"],
  a[class*="proof"], button[class*="proof"], input[class*="proof"]
):not(.remove) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin: 7px 7px 0 0;
  padding: 9px 14px !important;
  border: 2px solid var(--yellow-border) !important;
  border-radius: 0 !important;
  background: var(--yellow) !important;
  box-shadow: none !important;
  color: var(--black) !important;
  font-family: var(--font-display) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}
body.woocommerce-cart .woocommerce-cart-form :is(
  a[class*="preview"], a[class*="view-proof"], a[class*="download"]
):not(.remove) {
  background: var(--black) !important;
  border-color: var(--black) !important;
  color: var(--white) !important;
}
body.woocommerce-cart .woocommerce-cart-form :is(
  [class*="wp2print"], [id*="wp2print"],
  [class*="printscience"], [id*="printscience"],
  [class*="artwork"], [class*="proof"]
) img {
  max-width: 190px;
  height: auto;
  object-fit: contain;
}

/* Same-origin Print Science upload/proof dialogs can be themed on product,
 * cart, checkout and account pages. The hosted Designer interior remains
 * controlled by Print Science. */
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .ui-dialog:has(
  [class*="wp2print"], [id*="wp2print"],
  [class*="printscience"], [id*="printscience"],
  [class*="autoproof"], [id*="autoproof"]
) {
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.24) !important;
  border-radius: 0 !important;
  background: var(--white) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.32) !important;
  font-family: var(--font-body) !important;
}
body:is(.single-product,.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .ui-dialog:has(
  [class*="wp2print"], [id*="wp2print"],
  [class*="printscience"], [id*="printscience"],
  [class*="autoproof"], [id*="autoproof"]
) .ui-dialog-titlebar {
  border: 0 !important;
  border-bottom: 3px solid var(--yellow) !important;
  border-radius: 0 !important;
  background: var(--black) !important;
  padding: 15px 18px !important;
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* v1.5.2 — AcoWebs owns cart option markup; theme styles it only. */
body.woocommerce-cart table.shop_table .wcpa_cart_meta,
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options .variation,
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options .wcpa_cart_meta {
  display: grid !important;
  gap: 4px !important;
  width: min(100%, 620px);
  margin: 9px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  color: var(--gray-700);
  font-size: 12px;
  line-height: 1.4;
}
body.woocommerce-cart table.shop_table .wcpa_cart_meta_item,
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options .wcpa_cart_meta_item {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 5px 8px !important;
  align-items: baseline;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart table.shop_table .wcpa_cart_meta_item-label,
body.woocommerce-cart table.shop_table .wcpa_cart_meta_item-label p,
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options dt {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--gray-700) !important;
  font-weight: 800 !important;
}
body.woocommerce-cart table.shop_table .wcpa_cart_meta_item-value,
body.woocommerce-cart table.shop_table .wcpa_cart_meta_item-value-select,
body.woocommerce-cart table.shop_table .wcpa_cart_meta_item-value p,
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options dd,
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options dd p {
  float: none !important;
  clear: none !important;
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--black) !important;
}
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options dl.variation {
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 8px !important;
}
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options {
  display: block;
  margin-top: 3px;
}
body.woocommerce-cart table.shop_table .wcpa_cart_meta img,
body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options img {
  width: auto;
  max-width: 110px;
  height: auto;
  margin-top: 5px;
}

/* v1.5.2 — accessible minus/input/plus cart quantity control. */
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control {
  position: relative;
  display: inline-grid !important;
  grid-template-columns: 38px minmax(46px, 58px) 38px;
  align-items: stretch;
  width: auto !important;
  min-width: 122px;
  border: 1px solid var(--gray-200);
  background: var(--white);
}
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control .agwraps-qty-button {
  display: grid;
  place-items: center;
  min-width: 38px;
  min-height: 42px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--off-white) !important;
  color: var(--black) !important;
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control .agwraps-qty-minus {
  border-right: 1px solid var(--gray-200) !important;
}
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control .agwraps-qty-plus {
  border-left: 1px solid var(--gray-200) !important;
}
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control .agwraps-qty-button:hover,
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control .agwraps-qty-button:focus-visible {
  background: var(--yellow) !important;
  outline: none;
}
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control input.qty {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px;
  margin: 0 !important;
  padding: 0 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--white) !important;
  text-align: center;
  -moz-appearance: textfield;
}
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control input.qty::-webkit-inner-spin-button,
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control input.qty::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
body.woocommerce-cart table.shop_table .quantity.agwraps-qty-control.is-updating {
  opacity: .62;
  pointer-events: none;
}

@media (max-width: 640px) {
  body.woocommerce-cart table.shop_table .wcpa_cart_meta_item,
  body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options .wcpa_cart_meta_item,
  body.woocommerce-cart table.shop_table .agwraps-repaired-cart-options dl.variation {
    grid-template-columns: 1fr;
    gap: 1px !important;
  }
}

/* v1.5.3 — server-rendered cart quantity stepper. */
body.woocommerce-cart table.shop_table .agwraps-cart-qty-stepper {
  display: inline-grid !important;
  grid-template-columns: 38px minmax(46px, 58px) 38px;
  align-items: stretch;
  min-width: 122px;
  border: 1px solid var(--gray-200);
  background: var(--white);
}
body.woocommerce-cart table.shop_table .agwraps-cart-qty-input-wrap,
body.woocommerce-cart table.shop_table .agwraps-cart-qty-input-wrap .quantity {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
body.woocommerce-cart table.shop_table .agwraps-cart-qty-button {
  display: grid !important;
  place-items: center;
  min-width: 38px;
  min-height: 42px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--off-white) !important;
  color: var(--black) !important;
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}
body.woocommerce-cart table.shop_table .agwraps-cart-qty-minus { border-right: 1px solid var(--gray-200) !important; }
body.woocommerce-cart table.shop_table .agwraps-cart-qty-plus { border-left: 1px solid var(--gray-200) !important; }
body.woocommerce-cart table.shop_table .agwraps-cart-qty-button:hover,
body.woocommerce-cart table.shop_table .agwraps-cart-qty-button:focus-visible {
  background: var(--yellow) !important;
  outline: none;
}
body.woocommerce-cart table.shop_table .agwraps-cart-qty-stepper input.qty {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px;
  margin: 0 !important;
  padding: 0 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--white) !important;
  text-align: center;
  -moz-appearance: textfield;
}
body.woocommerce-cart table.shop_table .agwraps-cart-qty-stepper input.qty::-webkit-inner-spin-button,
body.woocommerce-cart table.shop_table .agwraps-cart-qty-stepper input.qty::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
body.woocommerce-cart table.shop_table .agwraps-cart-qty-stepper.is-updating {
  opacity: .6;
  pointer-events: none;
}

/* v1.5.3 — AcoWebs native and repaired option displays. */
body.woocommerce-cart table.shop_table td.product-name dl.variation,
body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered dl.variation,
body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered .wcpa_cart_meta {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 8px !important;
  width: min(100%, 650px);
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: var(--gray-700);
  font-size: 12px;
  line-height: 1.4;
}
body.woocommerce-cart table.shop_table td.product-name dl.variation dt,
body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered dl.variation dt {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--gray-700) !important;
  font-weight: 800 !important;
}
body.woocommerce-cart table.shop_table td.product-name dl.variation dd,
body.woocommerce-cart table.shop_table td.product-name dl.variation dd p,
body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered dl.variation dd,
body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered dl.variation dd p {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--black) !important;
}
body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered {
  display: block;
  margin-top: 4px;
}
@media (max-width: 640px) {
  body.woocommerce-cart table.shop_table td.product-name dl.variation,
  body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered dl.variation,
  body.woocommerce-cart table.shop_table .agwraps-cart-options-rendered .wcpa_cart_meta {
    grid-template-columns: 1fr;
    gap: 1px !important;
  }
}

/* v1.5.5 — stable 3:1 cart layout and clean AcoWebs option cards. */
body.woocommerce-cart .agwraps-native-cart-shell {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 30px !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Any plugin notices/output fired on woocommerce_before_cart should sit above
   both main columns instead of consuming the first grid/flex slot. */
body.woocommerce-cart .agwraps-native-cart-shell > :not(form.woocommerce-cart-form):not(.cart-collaterals) {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  order: 0 !important;
}

/* 3 parts products / 1 part totals = 75% / 25%. */
body.woocommerce-cart .agwraps-native-cart-shell > form.woocommerce-cart-form {
  float: none !important;
  flex: 3 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  order: 1 !important;
}
body.woocommerce-cart .agwraps-native-cart-shell > .cart-collaterals {
  float: none !important;
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 260px !important;
  max-width: none !important;
  margin: 0 !important;
  position: sticky;
  top: 96px;
  order: 2 !important;
}
body.woocommerce-cart .agwraps-native-cart-shell > .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .agwraps-native-cart-shell table.shop_table {
  width: 100% !important;
  table-layout: auto !important;
}
body.woocommerce-cart table.shop_table td.product-name {
  line-height: 1.35 !important;
  min-width: 0 !important;
}
body.woocommerce-cart table.shop_table td.product-name > br + .agwraps-cart-options-rendered,
body.woocommerce-cart table.shop_table td.product-name .agwraps-cart-options-rendered {
  margin-top: 10px !important;
}
body.woocommerce-cart table.shop_table td.product-name > .wcpa_cart_meta,
body.woocommerce-cart table.shop_table td.product-name .agwraps-cart-options-rendered > .wcpa_cart_meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px 9px !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce-cart table.shop_table td.product-name .wcpa_cart_meta > .wcpa_cart_meta_item,
body.woocommerce-cart table.shop_table td.product-name .agwraps-cart-options-rendered .wcpa_cart_meta > .wcpa_cart_meta_item {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid var(--gray-200) !important;
  border-left: 3px solid var(--yellow) !important;
  background: var(--off-white) !important;
  list-style: none !important;
}
body.woocommerce-cart table.shop_table td.product-name .wcpa_cart_meta_item-label,
body.woocommerce-cart table.shop_table td.product-name .wcpa_cart_meta_item-label p {
  display: block !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  color: var(--gray-600) !important;
  font-family: var(--font-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .7px !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
body.woocommerce-cart table.shop_table td.product-name .wcpa_cart_meta_item-value,
body.woocommerce-cart table.shop_table td.product-name .wcpa_cart_meta_item-value p,
body.woocommerce-cart table.shop_table td.product-name .wcpa_cart_meta_item-value span {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--black) !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}
body.woocommerce-cart table.shop_table td.product-name .wcpa-block-addon-val:empty {
  display: none !important;
}

@media (max-width: 1100px) {
  body.woocommerce-cart .agwraps-native-cart-shell {
    gap: 22px !important;
  }
  body.woocommerce-cart .agwraps-native-cart-shell > form.woocommerce-cart-form {
    flex: 3 1 0 !important;
  }
  body.woocommerce-cart .agwraps-native-cart-shell > .cart-collaterals {
    flex: 1 1 0 !important;
    min-width: 240px !important;
  }
  body.woocommerce-cart table.shop_table td.product-name > .wcpa_cart_meta,
  body.woocommerce-cart table.shop_table td.product-name .agwraps-cart-options-rendered > .wcpa_cart_meta {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 900px) {
  body.woocommerce-cart .agwraps-native-cart-shell {
    display: block !important;
  }
  body.woocommerce-cart .agwraps-native-cart-shell > form.woocommerce-cart-form,
  body.woocommerce-cart .agwraps-native-cart-shell > .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.woocommerce-cart .agwraps-native-cart-shell > .cart-collaterals {
    position: static !important;
    margin-top: 24px !important;
  }
}

/* v1.5.6 — deterministic desktop 3:1 cart columns.
 * JS moves the existing native cart form and cart collaterals into this shared
 * wrapper when a parent theme renders them as separate siblings. */
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready {
  display: grid !important;
  grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr) !important;
  column-gap: 30px !important;
  row-gap: 24px !important;
  align-items: start !important;
  width: min(1380px, calc(100% - 48px)) !important;
  max-width: 1380px !important;
  margin: 0 auto 72px !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.woocommerce-cart-form {
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > .cart-collaterals {
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  position: sticky !important;
  top: 96px !important;
  align-self: start !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > :not(form.woocommerce-cart-form):not(.cart-collaterals) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}
@media (max-width: 980px) {
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready {
    display: block !important;
    width: min(100% - 32px, 1380px) !important;
  }
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > .cart-collaterals {
    position: static !important;
    width: 100% !important;
    margin-top: 24px !important;
  }
}

/* v1.5.7 — Print Science cart form detection and strict 3:1 columns.
 * Print Science's template can omit `form.woocommerce-cart-form`, so the
 * layout script adds `.agwraps-cart-form` to the real form containing
 * `table.woocommerce-cart-form__contents`. */
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready {
  display: grid !important;
  grid-template-columns: minmax(0, 3fr) minmax(270px, 1fr) !important;
  gap: 30px !important;
  align-items: start !important;
  width: min(1380px, calc(100% - 48px)) !important;
  max-width: 1380px !important;
  margin: 0 auto 72px !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.agwraps-cart-form,
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.woocommerce-cart-form {
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > .cart-collaterals {
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  position: sticky !important;
  top: 96px !important;
  align-self: start !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.agwraps-cart-form table.shop_table,
body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.woocommerce-cart-form table.shop_table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: auto !important;
}
@media (max-width: 980px) {
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready {
    display: block !important;
    width: min(100% - 32px, 1380px) !important;
  }
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > .cart-collaterals {
    position: static !important;
    width: 100% !important;
    margin-top: 24px !important;
  }
}

/* v1.5.8 — keep quantity and subtotal inside the 75% product column.
 * Print Science places proof actions in `td.product-thumb`, while AcoWebs adds
 * a comparatively wide option grid in `td.product-name`. With automatic table
 * layout, those cells establish a min-content width wider than the 3fr grid
 * track, causing Quantity/Price to overflow underneath Cart Totals.
 * Fixed table layout plus explicit column widths keeps every cell in its row.
 */
@media (min-width: 981px) {
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.agwraps-cart-form,
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.woocommerce-cart-form {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.agwraps-cart-form table.woocommerce-cart-form__contents,
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.woocommerce-cart-form table.woocommerce-cart-form__contents,
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.agwraps-cart-form table.shop_table.cart,
  body.woocommerce-cart .agwraps-native-cart-shell.agwraps-cart-columns-ready > form.woocommerce-cart-form table.shop_table.cart {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-remove,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-remove {
    width: 44px !important;
    max-width: 44px !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-thumb,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-thumb,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-thumbnail,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-thumbnail {
    width: 210px !important;
    max-width: 210px !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-quantity,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-quantity {
    width: 118px !important;
    max-width: 118px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-price,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-price,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-subtotal,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-subtotal {
    width: 122px !important;
    max-width: 122px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-name,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-name {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-thumb :is(
    .print-products-area,
    .artwork-files-list,
    .editimagediv,
    .download-pdf-box,
    .cart-upload-button-box
  ) {
    width: 100% !important;
    max-width: 180px !important;
    min-width: 0 !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-thumb :is(
    a.button,
    input.button,
    button.button
  ) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 180px !important;
    white-space: normal !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-name .agwraps-cart-options-rendered,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-name .wcpa_cart_meta {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-thumb,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-thumb,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-thumbnail,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-thumbnail {
    width: 178px !important;
    max-width: 178px !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-quantity,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-quantity {
    width: 104px !important;
    max-width: 104px !important;
  }

  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-price,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-price,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table th.product-subtotal,
  body.woocommerce-cart .agwraps-native-cart-shell table.shop_table td.product-subtotal {
    width: 104px !important;
    max-width: 104px !important;
  }
}

/* ========================================================================
 * v1.5.9 — AcoWebs number-field emphasis
 * Only the two configured AcoWebs number fields receive this treatment.
 * ====================================================================== */
body.woocommerce-cart .wcpa_cart_meta_item.agwraps-number-option-highlight,
body.woocommerce-checkout .wcpa_cart_meta_item.agwraps-number-option-highlight,
body.woocommerce-cart .wc-item-meta li.agwraps-number-option-highlight,
body.woocommerce-checkout .wc-item-meta li.agwraps-number-option-highlight {
  border-left-color: #c62828 !important;
  background: #fff1f1 !important;
  box-shadow: inset 0 0 0 1px rgba(198, 40, 40, 0.18) !important;
}

body.woocommerce-cart .wcpa_cart_meta_item.agwraps-number-option-highlight :is(
  .wcpa_cart_meta_item-label,
  .wcpa_cart_meta_item-label p,
  .wcpa_cart_meta_item-value,
  .wcpa_cart_meta_item-value p,
  .wcpa_cart_meta_item-value span
),
body.woocommerce-checkout .wcpa_cart_meta_item.agwraps-number-option-highlight :is(
  .wcpa_cart_meta_item-label,
  .wcpa_cart_meta_item-label p,
  .wcpa_cart_meta_item-value,
  .wcpa_cart_meta_item-value p,
  .wcpa_cart_meta_item-value span
),
body.woocommerce-cart .wc-item-meta li.agwraps-number-option-highlight,
body.woocommerce-checkout .wc-item-meta li.agwraps-number-option-highlight,
body.woocommerce-cart .agwraps-number-option-text,
body.woocommerce-checkout .agwraps-number-option-text {
  color: #b71c1c !important;
  font-weight: 800 !important;
}

body.woocommerce-cart dl.variation dt.agwraps-number-option-highlight,
body.woocommerce-cart dl.variation dd.agwraps-number-option-highlight,
body.woocommerce-checkout dl.variation dt.agwraps-number-option-highlight,
body.woocommerce-checkout dl.variation dd.agwraps-number-option-highlight,
body.woocommerce-cart dl.wc-item-meta dt.agwraps-number-option-highlight,
body.woocommerce-cart dl.wc-item-meta dd.agwraps-number-option-highlight,
body.woocommerce-checkout dl.wc-item-meta dt.agwraps-number-option-highlight,
body.woocommerce-checkout dl.wc-item-meta dd.agwraps-number-option-highlight {
  color: #b71c1c !important;
  background: #fff1f1 !important;
  font-weight: 800 !important;
}

body.woocommerce-cart dl.variation dt.agwraps-number-option-highlight,
body.woocommerce-checkout dl.variation dt.agwraps-number-option-highlight,
body.woocommerce-cart dl.wc-item-meta dt.agwraps-number-option-highlight,
body.woocommerce-checkout dl.wc-item-meta dt.agwraps-number-option-highlight {
  border-left: 3px solid #c62828 !important;
  padding-left: 8px !important;
}


/* v1.6.0 — final-formatted AcoWebs number line in the custom checkout summary. */
body.woocommerce-checkout .qc-order-item-meta .agwraps-number-option-line {
  display: block;
  margin: 5px 0;
  padding: 6px 8px;
  border-left: 3px solid #c62828;
  background: #fff1f1;
  color: #b71c1c !important;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body.woocommerce-checkout .qc-order-item-meta .agwraps-number-option-line *,
body.woocommerce-checkout .qc-order-item-meta .agwraps-number-option-line .agwraps-number-option-text {
  color: #b71c1c !important;
  font-weight: 800 !important;
}
