/* Saasveld · woocommerce/cart — lege mand, gratis-verzenden, winkelmand-layout */

/* Lege winkelmand: vriendelijke, gecentreerde staat met duidelijke CTA */
.woocommerce-cart .cart-empty{text-align:center;font-size:1.15rem;font-weight:600;color:var(--wp--preset--color--ink);background:none;border:0;padding:2.5rem 0 .75rem;margin:0}
.woocommerce-cart .cart-empty::before{content:"🛒";display:block;font-size:2.75rem;margin-bottom:.75rem;line-height:1}
.woocommerce-cart .return-to-shop{text-align:center;margin:0 0 2.5rem}
.woocommerce-cart .return-to-shop .button{display:inline-block;width:auto;min-width:220px}
/* ---------- Upsell/cross-sell "Maak je bestelling compleet" ---------- */
.saasveld-cross-sell{grid-column:1 / -1;clear:both;margin:2.5rem 0 0;padding-top:2rem;border-top:1px solid var(--wp--preset--color--line)}
.saasveld-cross-sell__title{font-size:clamp(1.25rem,1rem+1vw,1.6rem);font-weight:800;margin:0 0 1.25rem}
.saasveld-cross-sell ul.products{margin:0}

/* ---------- Gratis-bezorgd progress ---------- */
.saasveld-freeship{margin:0 0 1rem;padding:.75rem 1rem;background:var(--wp--preset--color--surface-muted);border-radius:var(--wp--custom--radius--card)}
.saasveld-freeship__msg{margin:0 0 .5rem;font-size:.9rem}
.saasveld-freeship__msg.is-reached{color:var(--wp--preset--color--success);font-weight:600}
.saasveld-freeship__bar{height:8px;background:var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--pill);overflow:hidden}
.saasveld-freeship__bar span{display:block;height:100%;background:var(--wp--preset--color--success);transition:width .3s ease}
/* ---------- Winkelmand: modern, ruimtelijk (grid-rijen i.p.v. tabelcellen) ---------- */
.saasveld-cartpage .woocommerce-cart-form table.cart{display:block;border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--card);overflow:hidden;background:#fff;width:100%}
.saasveld-cartpage table.cart thead{display:none}
.saasveld-cartpage table.cart tbody{display:block}
/* Item-rij: thumb | naam + opties | prijs | aantal | subtotaal (+ verwijder rechtsboven) */
.saasveld-cartpage tr.woocommerce-cart-form__cart-item{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"thumb name" "thumb meta" "thumb price" "thumb qty" "thumb subtotal";align-items:center;gap:.3rem 1.15rem;padding:1.25rem 3rem 1.25rem 1.25rem;border-top:1px solid var(--wp--preset--color--line)}
.saasveld-cartpage tbody tr.woocommerce-cart-form__cart-item:first-child{border-top:0}
.saasveld-cartpage tr.woocommerce-cart-form__cart-item > td{display:block;padding:0;border:0;min-width:0}
.saasveld-cartpage .product-thumbnail{grid-area:thumb;align-self:start}
.saasveld-cartpage .product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:12px;background:var(--wp--preset--color--surface-muted);display:block}
.saasveld-cartpage .product-name{grid-area:name}
.saasveld-cartpage .product-name a{font-weight:700;text-decoration:none;color:var(--wp--preset--color--ink);font-size:1.02rem;line-height:1.3}
.saasveld-cartpage .product-name a:hover{color:var(--wp--preset--color--primary)}
.saasveld-cartpage .product-price{grid-area:price}
.saasveld-cartpage .product-quantity{grid-area:qty;justify-self:start}
.saasveld-cartpage .product-subtotal{grid-area:subtotal;font-weight:700}
.saasveld-cartpage .product-price,.saasveld-cartpage .product-subtotal{font-size:.95rem}
/* Prijs = compacte stukprijs onder de naam; klein & rustig */
.saasveld-cartpage .product-price{color:var(--wp--preset--color--muted);font-size:.85rem}
/* Kleine kolomlabels (thead is verborgen) via data-title, alleen op aantal + subtotaal */
.saasveld-cartpage .product-subtotal::before,.saasveld-cartpage .product-quantity::before{content:attr(data-title);display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--wp--preset--color--muted);font-weight:700;margin-bottom:.25rem}
.saasveld-cartpage .product-remove{grid-area:remove;position:absolute;top:1rem;right:1rem}
.saasveld-cartpage .product-remove a{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:50%;background:var(--wp--preset--color--surface-muted);color:var(--wp--preset--color--muted);font-size:1rem;line-height:1;text-decoration:none}
.saasveld-cartpage .product-remove a:hover{background:var(--wp--preset--color--primary);color:#fff}
/* FAK optie-meta compact & clean (staat in de naamcel) */
.saasveld-cartpage .product-name .variation,.saasveld-cartpage .product-name dl.variation,.saasveld-cartpage .product-name .wc-item-meta{margin:.4rem 0 0;padding:0;font-size:.82rem;color:var(--wp--preset--color--muted);line-height:1.45;list-style:none}
.saasveld-cartpage .product-name .variation dt,.saasveld-cartpage .product-name dl.variation dt,.saasveld-cartpage .product-name .wc-item-meta strong{font-weight:600;color:var(--wp--preset--color--ink);margin:0}
.saasveld-cartpage .product-name .variation dd,.saasveld-cartpage .product-name dl.variation dd,.saasveld-cartpage .product-name .wc-item-meta p{margin:0 0 .15rem}
.saasveld-cartpage .product-name .variation p{margin:0}
@media (min-width:760px){
	/* Naam-kolom krijgt ruimte; stukprijs staat onder naam/opties, subtotaal prominent rechts */
	.saasveld-cartpage tr.woocommerce-cart-form__cart-item{grid-template-columns:76px minmax(0,1fr) 132px 104px 28px;grid-template-areas:"thumb name qty subtotal remove" "thumb meta qty subtotal remove" "thumb price qty subtotal remove";padding:1.5rem;gap:.15rem 1.5rem}
	.saasveld-cartpage .product-price{align-self:start;margin-top:.15rem}
	.saasveld-cartpage .product-subtotal{text-align:right;font-size:1rem}
	.saasveld-cartpage .product-quantity{justify-self:center;align-self:center}
	.saasveld-cartpage .product-remove{position:static;grid-area:remove;justify-self:center;align-self:center;top:auto;right:auto}
}
.saasveld-cartpage .actions{padding:1.25rem 1.5rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;border-top:1px solid var(--wp--preset--color--line)}
.saasveld-cartpage .coupon{display:flex;flex-wrap:wrap;gap:.5rem;flex:1 1 auto;max-width:460px}
/* WC's inline coupon-fout (<p class="coupon-error-notice">) op eigen regel als nette error,
   i.p.v. ingeklemd tussen de knoppen (dat brak de actie-rij). */
.coupon-error-notice{flex:1 1 100%;order:99;margin:.15rem 0 0;padding:.6rem .8rem;background:#fdecec;border:1px solid #f3c3c1;border-radius:var(--wp--custom--radius--button);color:#8a1c1c;font-size:.85rem;font-weight:600;line-height:1.4;list-style:none}
.saasveld-cartpage .coupon input{flex:1 1 auto;min-width:0;border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--button);padding:.6rem .8rem}
.saasveld-cartpage .coupon .button,.saasveld-cartpage .actions > .button{flex:0 0 auto;white-space:nowrap;padding:.6rem 1.1rem;font-size:.9rem}
/* "Bijwerken" is secundair (grijs), zodat de uitgeschakelde staat niet als kapotte rode knop oogt */
.saasveld-cartpage button[name="update_cart"],.saasveld-cartpage input[name="update_cart"]{margin-left:auto;background:var(--wp--preset--color--surface-muted);color:var(--wp--preset--color--ink)}
.saasveld-cartpage button[name="update_cart"]:not(:disabled):hover{background:var(--wp--preset--color--line);color:var(--wp--preset--color--ink)}
.saasveld-cartpage .cart-collaterals{width:100% !important;float:none !important}
.saasveld-cartpage .cart_totals{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--card);padding:1.5rem;box-shadow:var(--wp--custom--shadow--card)}
.saasveld-cartpage .cart_totals h2{margin:0 0 1rem;font-size:1.25rem}
.saasveld-cartpage .cart_totals table{width:100%;border-collapse:collapse}
.saasveld-cartpage .cart_totals th,.saasveld-cartpage .cart_totals td{padding:.6rem 0;border-top:1px solid var(--wp--preset--color--line);text-align:left;font-weight:500}
.saasveld-cartpage .cart_totals tr.order-total th,.saasveld-cartpage .cart_totals tr.order-total td{font-size:1.15rem;font-weight:800}
.saasveld-cartpage .cart_totals td{text-align:right}
.saasveld-cartpage .cart_totals th{color:var(--wp--preset--color--muted);font-weight:600}
/* Verzendrij: label + methode onder elkaar over de volle breedte (voorkomt afbreken). */
.saasveld-cartpage .cart_totals tr.shipping th,.saasveld-cartpage .cart_totals tr.shipping td{display:block;width:100%;text-align:left;border-top:1px solid var(--wp--preset--color--line)}
.saasveld-cartpage .cart_totals tr.shipping td{border-top:0;padding-top:.2rem}
/* Verzendmethodes netjes (geen bullets, links uitgelijnd) */
.saasveld-cartpage .cart_totals ul#shipping_method,.woocommerce #order_review ul#shipping_method{list-style:none;margin:0;padding:0;text-align:left}
.saasveld-cartpage .cart_totals ul#shipping_method li,.woocommerce #order_review ul#shipping_method li{margin:.2rem 0;padding:0}
.saasveld-cartpage .cart_totals .woocommerce-shipping-destination,.woocommerce #order_review .woocommerce-shipping-destination{font-size:.8rem;color:var(--wp--preset--color--muted);margin:.35rem 0 0}
.saasveld-cartpage .cart_totals .shipping-calculator-button{color:var(--wp--preset--color--primary)}
.saasveld-cartpage .cart_totals .checkout-button{display:block;width:100%;text-align:center;margin-top:1rem;padding:.85rem 1rem;font-size:1rem;font-weight:700}
.saasveld-cartpage .wc-proceed-to-checkout{padding:0}
@media (min-width:900px){
	.saasveld-cartpage .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start}
	.saasveld-cartpage .woocommerce > .woocommerce-notices-wrapper,
	.saasveld-cartpage .woocommerce > .saasveld-freeship,
	.saasveld-cartpage .woocommerce > .saasveld-cart-picker{grid-column:1 / -1}
	.saasveld-cartpage .woocommerce-cart-form{grid-column:1;margin:0;min-width:0}
	.saasveld-cartpage .cart-collaterals{grid-column:2;min-width:0}
}
.saasveld-cartpage .checkout-button{white-space:normal;font-size:1rem;padding:.9rem 1rem}
