/* Megaride 2.0 — Cart-only visual correction, classic Cart shortcode & WC Cart Block.
 * Namespaced to .mp-cart-pro: no changes to home, product, checkout or gateways.
 * Core form, quantities, coupons, express-pay buttons and checkout actions remain native.
 */
body.mp-cart-pro {
  --mpc-ink:#251e19;
  --mpc-gold:#ad8652;
  --mpc-soft:#f7f1e9;
  --mpc-paper:#fffdf9;
  --mpc-line:#e6ddcf;
  --mpc-muted:#74695e;
}
body.mp-cart-pro .mp-main {
  background:#f9f5ef;
  padding:50px 0 90px;
}
body.mp-cart-pro .mp-main > .mp-shell {
  max-width:1370px !important;
  width:min(1370px, calc(100% - 56px)) !important;
}
body.mp-cart-pro .mp-main .mp-content-card {
  box-sizing:border-box;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:clamp(25px,3.2vw,55px)!important;
  background:#fffdf9;
  border:1px solid var(--mpc-line);
  box-shadow:0 18px 70px rgba(39,27,16,.04);
}
body.mp-cart-pro .mp-page-title {
  font-size:clamp(37px,4.4vw,64px)!important;
  line-height:1.1;
  letter-spacing:-.045em;
  color:var(--mpc-ink);
  margin:0 0 37px!important;
}
body.mp-cart-pro .mp-page-title::after {
  content:"";
  display:block;
  width:56px;
  height:2px;
  margin:20px 0 0;
  background:var(--mpc-gold);
}
body.mp-cart-pro .mp-entry-content,
body.mp-cart-pro .mp-entry-content > .woocommerce,
body.mp-cart-pro .mp-entry-content .woocommerce {
  box-sizing:border-box;
  max-width:none!important;
  width:100%!important;
  min-width:0;
}
/* Classic shortcode: make a clear two-column shopping layout. :has() is supported
   by Safari/Chrome/Firefox currently; fallback keeps both sections stacked. */
body.mp-cart-pro .mp-entry-content > .woocommerce:has(> form.woocommerce-cart-form),
body.mp-cart-pro .mp-entry-content > .woocommerce:has(> .woocommerce-cart-form) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(315px,380px)!important;
  gap:26px!important;
  align-items:start;
}
body.mp-cart-pro .woocommerce:has(> form.woocommerce-cart-form) > .woocommerce-notices-wrapper,
body.mp-cart-pro .woocommerce:has(> form.woocommerce-cart-form) > .woocommerce-message,
body.mp-cart-pro .woocommerce:has(> form.woocommerce-cart-form) > .woocommerce-error,
body.mp-cart-pro .woocommerce:has(> form.woocommerce-cart-form) > .woocommerce-info {
  grid-column:1/-1;
}
body.mp-cart-pro form.woocommerce-cart-form {
  display:block!important;
  width:100%!important;
  float:none!important;
  min-width:0;
  margin:0!important;
}
/* Each item is a tidy, responsive product card. The native fields and actions
   are untouched: changing quantity and coupon submission remain Woo-native. */
body.mp-cart-pro .woocommerce-cart-form table.shop_table,
body.mp-cart-pro .woocommerce-cart-form table.woocommerce-cart-form__contents {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:auto!important;
  margin:0!important;
  border:none!important;
  background:transparent!important;
  border-collapse:collapse!important;
  overflow:visible!important;
}
body.mp-cart-pro .woocommerce-cart-form table.shop_table thead {
  /* Keep table headers available to assistive technology. */
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip-path:inset(50%);
  white-space:nowrap;
}
body.mp-cart-pro .woocommerce-cart-form table.shop_table tbody {
  display:block!important;
  width:100%!important;
}
body.mp-cart-pro .woocommerce-cart-form table.shop_table tr.cart_item {
  box-sizing:border-box;
  display:grid!important;
  width:100%;
  grid-template-columns:100px minmax(0,1fr) 105px 100px;
  grid-template-areas:"image name name remove" "image price quantity subtotal";
  column-gap:16px;
  row-gap:10px;
  position:relative;
  align-items:center;
  background:white!important;
  border:1px solid var(--mpc-line)!important;
  padding:20px!important;
  margin:0 0 14px!important;
  box-shadow:0 5px 20px rgba(38,22,12,.025);
}
body.mp-cart-pro .woocommerce-cart-form table.shop_table tr.cart_item > td {
  box-sizing:border-box;
  display:block!important;
  position:static;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  float:none!important;
  border:0!important;
  text-align:left!important;
  background:none!important;
  white-space:normal!important;
  box-shadow:none!important;
  overflow-wrap:anywhere;
}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item > td::before {display:none!important;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-thumbnail {grid-area:image!important;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-name {grid-area:name!important;align-self:end;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-price {grid-area:price!important;align-self:start;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-quantity {grid-area:quantity!important;align-self:start;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-subtotal {grid-area:subtotal!important;align-self:start;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-remove {grid-area:remove!important;align-self:start;justify-self:end;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-thumbnail a {
  display:block!important;
  width:100px!important;
  height:120px!important;
}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-thumbnail img {
  box-sizing:border-box!important;
  display:block!important;
  width:100px!important;
  max-width:100px!important;
  min-width:0!important;
  height:120px!important;
  max-height:120px!important;
  margin:0!important;
  object-fit:contain!important;
  background:#f6f1e9!important;
  border:1px solid #eee3d7!important;
}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-name a {
  color:var(--mpc-ink)!important;
  font:400 clamp(17px,1.65vw,22px)/1.3 Georgia,serif!important;
  text-decoration:none!important;
}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-name a:hover {color:#937044!important;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .variation {font-size:12px;line-height:1.7;color:var(--mpc-muted);margin:8px 0 0;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-price,
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-subtotal {
  color:#6e502f;
  font-size:14px;
  font-weight:700;
  white-space:nowrap!important;
}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-price::after {content:"Prezzo";}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-subtotal::after {content:"Subtotale";}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-price::after,
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-subtotal::after {
  display:block;
  font:500 10px/1.6 Arial,sans-serif;
  color:var(--mpc-muted);
  letter-spacing:.035em;
  margin-top:5px;
}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-quantity::after {
  content:"Quantità";
  display:block;
  font:500 10px/1.6 Arial,sans-serif;
  color:var(--mpc-muted);
  margin-top:5px;
}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-quantity .quantity {width:auto!important;max-width:100%;display:block;}
body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-quantity input.qty {
  box-sizing:border-box;
  width:80px!important;
  max-width:100%!important;
  min-height:40px!important;
  height:40px!important;
  padding:5px 8px!important;
  background:white!important;
  border:1px solid #d6c5b3!important;
  text-align:center!important;
  color:var(--mpc-ink)!important;
  border-radius:0!important;
  font-size:13px!important;
}
body.mp-cart-pro .woocommerce-cart-form .product-remove a.remove {
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:31px!important;
  height:31px!important;
  border:1px solid #e4d8c8!important;
  border-radius:50%!important;
  color:#846246!important;
  font-size:20px!important;
  background:white!important;
  text-decoration:none!important;
  line-height:1;
}
body.mp-cart-pro .woocommerce-cart-form .product-remove a.remove:hover {
  color:#fff!important;
  background:#9e7250!important;
}
/* Coupons and cart updates stay inside the native WooCommerce form. */
body.mp-cart-pro .woocommerce-cart-form table.shop_table tr:has(> td.actions) {
  display:block!important;
  width:100%!important;
  background:transparent!important;
  border:none!important;
}
body.mp-cart-pro .woocommerce-cart-form td.actions {
  box-sizing:border-box;
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 16px;
  width:100%!important;
  border:0!important;
  background:transparent!important;
  padding:18px 0 0!important;
  text-align:left!important;
}
body.mp-cart-pro .woocommerce-cart-form td.actions .coupon {
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  float:none!important;
  width:auto!important;
  margin:0!important;
}
body.mp-cart-pro .woocommerce-cart-form td.actions .coupon input.input-text {
  width:180px!important;
  max-width:100%!important;
  min-height:43px;
  margin:0!important;
  border:1px solid #d8cab7;
  background:#fff;
  border-radius:0;
  padding:10px 12px;
}
body.mp-cart-pro .woocommerce-cart-form td.actions .coupon button,
body.mp-cart-pro .woocommerce-cart-form td.actions > button[name="update_cart"] {
  float:none!important;
  margin:0!important;
  min-height:43px!important;
  padding:10px 13px!important;
  border-radius:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:normal;
}
body.mp-cart-pro .woocommerce-cart-form td.actions > button[name="update_cart"] {margin-left:auto!important;}
/* Summary: always beside products on desktop, with real Woo total/checkout. */
body.mp-cart-pro .cart-collaterals {
  display:block!important;
  box-sizing:border-box;
  width:100%!important;
  max-width:100%!important;
  min-width:0;
  float:none!important;
  clear:none!important;
  margin:0!important;
}
body.mp-cart-pro .cart-collaterals::before,
body.mp-cart-pro .cart-collaterals::after {display:none!important;}
body.mp-cart-pro .cart-collaterals .cart_totals {
  float:none!important;
  clear:none!important;
  box-sizing:border-box;
  width:100%!important;
  max-width:none!important;
  padding:27px 25px!important;
  margin:0 0 25px!important;
  background:var(--mpc-paper)!important;
  border:1px solid #dbccb7!important;
  box-shadow:0 10px 30px rgba(51,28,13,.055);
}
body.mp-cart-pro .cart_totals h2 {
  font:400 30px/1.2 Georgia,serif!important;
  margin:0 0 20px!important;
  color:var(--mpc-ink);
}
body.mp-cart-pro .cart_totals table.shop_table {
  width:100%!important;
  margin:0 0 22px!important;
  border:none!important;
  background:transparent!important;
}
body.mp-cart-pro .cart_totals table.shop_table th,
body.mp-cart-pro .cart_totals table.shop_table td {
  border:0!important;
  border-bottom:1px solid var(--mpc-line)!important;
  background:transparent!important;
  padding:12px 3px!important;
  font-size:13px!important;
  line-height:1.6;
  text-align:left;
  vertical-align:top;
}
body.mp-cart-pro .cart_totals table.shop_table td {text-align:right;}
body.mp-cart-pro .cart_totals table.shop_table th {width:38%!important;color:var(--mpc-muted);}
body.mp-cart-pro .cart_totals table.shop_table .order-total th,
body.mp-cart-pro .cart_totals table.shop_table .order-total td {font-size:17px!important;font-weight:700!important;color:var(--mpc-ink)!important;}
body.mp-cart-pro .cart_totals ul#shipping_method {padding:0!important;margin:0!important;list-style:none!important;}
body.mp-cart-pro .cart_totals #shipping_method li {list-style:none;margin:0 0 8px;}
body.mp-cart-pro .wc-proceed-to-checkout {
  display:block!important;
  padding:6px 0 0!important;
  margin:0!important;
}
body.mp-cart-pro .wc-proceed-to-checkout a.checkout-button {
  display:flex!important;
  justify-content:center;
  align-items:center;
  width:100%!important;
  box-sizing:border-box;
  min-height:57px!important;
  margin:0!important;
  padding:14px 20px!important;
  color:white!important;
  background:#241c17!important;
  border:1px solid #241c17!important;
  border-radius:0!important;
  text-decoration:none!important;
  font:700 12px/1.3 Arial,sans-serif!important;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
body.mp-cart-pro .wc-proceed-to-checkout a.checkout-button:hover {background:#886439!important;border-color:#886439!important;}
body.mp-cart-pro .cart-collaterals .cross-sells {
  float:none!important;
  box-sizing:border-box;
  width:100%!important;
  padding:20px!important;
  background:white!important;
  border:1px solid var(--mpc-line)!important;
}
/* WooCommerce Cart Block: preserve React controls and payment integrations. */
body.mp-cart-pro .wp-block-woocommerce-cart,
body.mp-cart-pro .wc-block-cart {width:100%!important;max-width:100%!important;}
body.mp-cart-pro .wc-block-cart__main {min-width:0!important;}
body.mp-cart-pro .wc-block-cart__items {
  width:100%!important;
  border:1px solid var(--mpc-line);
  background:white;
}
body.mp-cart-pro .wc-block-cart-items__header {background:#f4eee6;}
body.mp-cart-pro .wc-block-cart-items__row {border-color:var(--mpc-line);}
body.mp-cart-pro .wc-block-cart-item__image img {
  width:90px!important;
  max-width:100%!important;
  height:110px!important;
  object-fit:contain!important;
  background:#f8f4ed;
}
body.mp-cart-pro .wc-block-cart__sidebar {
  box-sizing:border-box;
  background:var(--mpc-paper);
  border:1px solid #dbccb7;
  padding:24px;
  min-width:0;
  height:fit-content;
}
body.mp-cart-pro .wc-block-cart__totals-title {font:400 28px/1.2 Georgia,serif!important;}
body.mp-cart-pro .wc-block-components-product-name {font:400 20px/1.3 Georgia,serif!important;color:var(--mpc-ink)!important;}
body.mp-cart-pro .wc-block-cart__submit-container {background:transparent!important;position:static!important;}
body.mp-cart-pro .wc-block-cart__submit-button,
body.mp-cart-pro .wc-block-components-button.wc-block-cart__submit-button {
  width:100%;
  min-height:55px;
  border-radius:0!important;
  border:1px solid #241c17!important;
  background:#241c17!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.06em;
}
body.mp-cart-pro .wc-block-cart__submit-button:hover {background:#886439!important;}
body.mp-cart-pro :is(a,button,input,select):focus-visible {
  outline:2px solid var(--mpc-gold);
  outline-offset:3px;
}
@media (max-width:1100px) {
  body.mp-cart-pro .mp-entry-content > .woocommerce:has(> form.woocommerce-cart-form),
  body.mp-cart-pro .mp-entry-content > .woocommerce:has(> .woocommerce-cart-form) {
    grid-template-columns:1fr!important;
  }
  body.mp-cart-pro .cart-collaterals {max-width:100%!important;}
}
@media (max-width:690px) {
  body.mp-cart-pro .mp-main > .mp-shell {width:calc(100% - 22px)!important;}
  body.mp-cart-pro .mp-main .mp-content-card {padding:20px 13px!important;}
  body.mp-cart-pro .woocommerce-cart-form table.shop_table tr.cart_item {
    grid-template-columns:78px minmax(0,1fr);
    grid-template-areas:"image name" "image price" "image quantity" "remove subtotal";
    column-gap:14px;
    row-gap:9px;
    padding:17px 13px!important;
  }
  body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-thumbnail a,
  body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-thumbnail img {width:78px!important;max-width:78px!important;height:95px!important;}
  body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-name a {font-size:17px!important;}
  body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-remove {justify-self:start;}
  body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-subtotal {justify-self:end;text-align:right!important;}
  body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-subtotal::after {text-align:right;}
  body.mp-cart-pro .woocommerce-cart-form td.actions {flex-direction:column;align-items:stretch;}
  body.mp-cart-pro .woocommerce-cart-form td.actions .coupon {width:100%!important;}
  body.mp-cart-pro .woocommerce-cart-form td.actions .coupon input.input-text {flex:1;min-width:0;width:100%!important;}
  body.mp-cart-pro .woocommerce-cart-form td.actions > button[name="update_cart"] {width:100%!important;margin-left:0!important;}
  body.mp-cart-pro .cart-collaterals .cart_totals {padding:23px 16px!important;}
  body.mp-cart-pro .wc-block-cart__sidebar {padding:18px 14px;}
}
@media (max-width:390px) {
  body.mp-cart-pro .woocommerce-cart-form tr.cart_item .product-quantity input.qty {width:72px!important;}
  body.mp-cart-pro .woocommerce-cart-form td.actions .coupon button {width:100%;}
}
