/* ==========================================================
   WooCommerce Cart – Sancti (cards gescoped + perfect mobiel)
   ========================================================== */

:root{
  --card-bg: var(--white-color, #fff);
  --card-bd: #ece8df;
  --panel-bg: #fbf9f4;
  --muted: #6f6a60;
  --soft-shadow: 0 6px 18px rgba(20,16,10,.06);
  --radius: 14px;
}

/* Wrapper / grid */
.woocommerce-cart .woocommerce{ max-width:1280px; margin:0 auto; padding:24px 20px; }
.woocommerce-cart .cart-layout{ display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:28px; align-items:start; }
.woocommerce-cart .cart-left{ min-width:0; }
.woocommerce-cart .cart-right{ position:sticky; top:120px; align-self:start; }

/* Kill Woo floats rechts */
.woocommerce-cart .cart-right .cart_totals,
.woocommerce-cart .cart-right .cart-collaterals{ float:none !important; width:100% !important; clear:none !important; margin:0 !important; }

/* ================= LEFT: alleen .sancti-cart-row stylen ================= */
.woocommerce-cart table.shop_table{ width:100%; border:0; background:transparent; }
.woocommerce-cart table.shop_table thead{ display:none; }

/* Card per product (DESKTOP) */
.woocommerce-cart tr.sancti-cart-row{
  display:grid; position:relative;
  grid-template-columns:96px 1fr 180px;
  grid-template-areas:
    "thumb title subtotal"
    "thumb qty   price";
  gap:12px 20px;
  background:var(--card-bg); border:1px solid var(--card-bd);
  border-radius:var(--radius); padding:18px; box-shadow:var(--soft-shadow);
  margin-bottom:18px;
}
.woocommerce-cart tr.sancti-cart-row > td{ border:0; padding:0; color:var(--secondary-color); }

.woocommerce-cart tr.sancti-cart-row td.product-thumbnail{ grid-area:thumb; align-self:center; }
.woocommerce-cart tr.sancti-cart-row td.product-name{ grid-area:title; align-self:start; }
.woocommerce-cart tr.sancti-cart-row td.product-subtotal{ grid-area:subtotal; text-align:right; font-weight:800; }
.woocommerce-cart tr.sancti-cart-row td.product-quantity{ grid-area:qty; }
.woocommerce-cart tr.sancti-cart-row td.product-price{ grid-area:price; text-align:right; } /* prijs NIET rechtsboven */

/* Remove rechtsboven */
.woocommerce-cart tr.sancti-cart-row td.product-remove{ position:absolute; left:14px; top:14px; }
.woocommerce-cart tr.sancti-cart-row a.remove{
  display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; font-size:16px;
  background:var(--panel-bg); border:1px solid var(--card-bd);
}

/* Media + titel */
.woocommerce-cart tr.sancti-cart-row td.product-thumbnail img{ width:76px; height:auto; border-radius:10px; background:var(--panel-bg); }
.woocommerce-cart tr.sancti-cart-row td.product-name a{ font-weight:800; color:var(--secondary-color); text-decoration:none; }
.woocommerce-cart tr.sancti-cart-row td.product-name a:hover{ text-decoration:underline; }
.woocommerce-cart tr.sancti-cart-row .variation,
.woocommerce-cart tr.sancti-cart-row .wc-item-meta{ margin-top:6px; color:var(--muted); font-size:.95rem; }

/* Mix&Match samenvatting */
.woocommerce-cart tr.sancti-cart-row .mm-summary{ margin-top:8px; padding:10px 12px; background:#fff; border:1px dashed var(--card-bd); border-radius:10px; }
.woocommerce-cart tr.sancti-cart-row .mm-summary ul{ margin:0; padding:0; list-style:none; }
.woocommerce-cart tr.sancti-cart-row .mm-summary li{ position:relative; padding-left:14px; margin:4px 0; }
.woocommerce-cart tr.sancti-cart-row .mm-summary li::before{ content:"•"; position:absolute; left:0; top:0; }

/* Discrete labels (alleen op deze 3) */
.woocommerce-cart tr.sancti-cart-row td.product-price::before,
.woocommerce-cart tr.sancti-cart-row td.product-quantity::before,
.woocommerce-cart tr.sancti-cart-row td.product-subtotal::before{
  content:attr(data-title); display:block; font-size:.82rem; color:var(--muted); margin-bottom:4px; font-weight:700;
}

/* qty input */
.woocommerce-cart tr.sancti-cart-row td.product-quantity .quantity{ display:inline-flex; align-items:center; gap:8px; }
.woocommerce-cart tr.sancti-cart-row td.product-quantity .quantity input.qty{
  width:74px; height:38px; text-align:center; border:1px solid var(--card-bd); border-radius:10px;
}

/* ================= Actions ================= */
.woocommerce-cart tr.sancti-actions-row td.actions{ padding:0; border:0; background:transparent; }
.woocommerce-cart .actions{
  display:flex; align-items:center; gap:12px; padding:0 2px; border:none; flex-wrap:wrap;
}
.woocommerce-cart .actions .coupon{ display:flex; gap:10px; align-items:center; flex:1 1 520px; }
.woocommerce-cart .actions .coupon #coupon_code{
  flex:1 1 260px; min-width:240px; height:44px; padding:0 14px;
  border:1px solid var(--card-bd); border-radius:12px; background:#fff; font-size:1rem; line-height:44px;
}
.woocommerce-cart .actions .button{
  display:inline-flex; align-items:center; justify-content:center;
  height:44px; padding:0 18px; border-radius:12px; border:1px solid var(--card-bd);
  background:var(--beige-color); color:var(--secondary-color); font-weight:800; font-size:1rem; white-space:nowrap;
}
@media (min-width:980px){ .woocommerce-cart .actions{ flex-wrap:nowrap; } .woocommerce-cart .actions > .button[name="update_cart"]{ margin-left:auto; } }

/* ================= RIGHT: één samenvattingsblok ================= */
.summary-title{ margin:0 0 12px; font-size:1.45rem; font-weight:900; color:var(--secondary-color); }

.woocommerce-cart .cart_totals{
  background:var(--card-bg); border:1px solid var(--card-bd); border-radius:var(--radius); padding:16px; box-shadow:var(--soft-shadow);
  overflow:hidden;
}
.woocommerce-cart .cart_totals > h2{ display:none; }

/* binnen het paneel */
.woocommerce-cart .summary-card .shop_table{ width:100%; border:0; }
.woocommerce-cart .summary-card .shop_table th,
.woocommerce-cart .summary-card .shop_table td{ border:0; padding:10px 0; color:var(--secondary-color); }

/* Shipping first as dashed box, full width */
.woocommerce-cart .summary-card .woocommerce-shipping-totals{ margin:0 0 14px; }
.woocommerce-cart .summary-card .woocommerce-shipping-totals th,
.woocommerce-cart .summary-card .woocommerce-shipping-totals td{ display:block; width:100%; }
.woocommerce-cart .summary-card .woocommerce-shipping-totals td{ padding:0; }
.woocommerce-cart .summary-card .woocommerce-shipping-calculator{
  background:#fff; border:1px dashed var(--card-bd); border-radius:12px; padding:14px;
}

/* Subtotaal / Totaal */
.woocommerce-cart .summary-card .cart-subtotal{ display:flex; justify-content:space-between; gap:12px; }
.woocommerce-cart .summary-card .order-total{ display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--card-bd); padding-top:12px; margin-top:6px; font-weight:900; }

/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout{ margin-top:16px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block; width:100%; box-sizing:border-box; border:none; border-radius:12px; padding:14px 22px;
  text-align:center; font-weight:900; text-transform:uppercase; background:var(--primary-color); color:var(--white-color);
}

/* ================= Mobile: fix alles links & reset Woo labels ================= */
@media (max-width:767.98px){
  .woocommerce-cart .cart-layout{ grid-template-columns:1fr; gap:18px; }
  .woocommerce-cart .cart-right{ position:static; top:auto; }

  /* Reset ALLE Woo/thema data-title injecties op mobiele td’s */
  .woocommerce-cart tr.sancti-cart-row td::before{ content:none !important; }

  .woocommerce-cart tr.sancti-cart-row{
    grid-template-columns:64px 1fr;
    grid-template-areas:
      "thumb title"
      "title title"
      "qty   qty"
      "price price"
      "subtotal subtotal";
    padding:14px; margin-bottom:14px;
  }
  /* Alles links uitlijnen */
  .woocommerce-cart tr.sancti-cart-row td{ text-align:left !important; }
  .woocommerce-cart tr.sancti-cart-row td.product-name{ margin-bottom:6px; }
  .woocommerce-cart tr.sancti-cart-row td.product-thumbnail img{ width:56px; }

  .woocommerce-cart tr.sancti-cart-row td.product-quantity .quantity input.qty{ width:86px; height:40px; }
  .woocommerce-cart tr.sancti-cart-row td.product-remove{ right:10px; top:10px; }
  .woocommerce-cart tr.sancti-cart-row a.remove{ width:24px; height:24px; font-size:16px; }

  /* Actions netjes onder elkaar */
  .woocommerce-cart .actions{ flex-direction:column; align-items:stretch; gap:10px; padding:0; }
  .woocommerce-cart .actions .coupon{ width:100%; }
  .woocommerce-cart .actions .coupon #coupon_code{ width:100%; min-width:0; }
  .woocommerce-cart .actions .button{ width:100%; }
}

/* ================= 768–1024 ================= */
@media (min-width:768px) and (max-width:1024px){
  .woocommerce-cart .cart-layout{ grid-template-columns:minmax(0,1fr) 360px; }
  .woocommerce-cart tr.sancti-cart-row{ grid-template-columns:88px 1fr 170px; }
}