/* ===================================================================
   Winkelmand & Afrekenen — naar het ontwerp.
   Scoped op .woocommerce-cart / .woocommerce-checkout.
   =================================================================== */

/* Gedeelde tokens */
.woocommerce-cart, .woocommerce-checkout {
	--lk-ink: #2A1F40;
	--lk-purple: #523F6D;
	--lk-gold: #B89248;
	--lk-cream: #F3ECDF;
	--lk-line: rgba(42, 31, 64, .12);
}

/* Subtitel onder de titel (winkelmand) */
.lk-cart__sub {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 22px;
	color: #6E647A;
	margin: 0 0 40px;
}

/* ====================== WINKELMAND ====================== */

/* 2-koloms: items links, overzicht rechts.
   .woocommerce bevat ook .lk-cart__sub en de notices → die laten we volle breedte
   pakken, zodat alleen het formulier en de totalen naast elkaar komen. */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: 1fr 380px;
	column-gap: 56px;
	row-gap: 0;
	align-items: start;
}
.woocommerce-cart .woocommerce > .lk-cart__sub,
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}
.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; min-width: 0; }
.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 2; }

/* Impreza forceert floats/breedtes op cart-tabel en collaterals → neutraliseren. */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .woocommerce-cart-form table.cart {
	width: 100% !important;
	float: none !important;
}
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100% !important;
	float: none !important;
}
.woocommerce-cart .lk-cart__usps { width: 100%; clear: both; }

/* Tabel → strakke rijen zonder randen */
.woocommerce-cart table.cart { border: 0; margin: 0; background: transparent; }
.woocommerce-cart table.cart thead { display: none; }
.woocommerce-cart table.cart,
.woocommerce-cart table.cart tbody { display: block; width: 100%; }
.woocommerce-cart table.cart tr.cart_item {
	display: grid;
	grid-template-columns: 84px 1fr auto 44px;
	grid-template-areas:
		"thumb name  price remove"
		"thumb qty   price remove";
	align-items: center;
	column-gap: 22px;
	row-gap: 10px;
	padding: 26px 0;
	border-top: 1px solid var(--lk-line);
}
.woocommerce-cart table.cart tr.cart_item:first-child { border-top: 0; }
.woocommerce-cart table.cart td {
	border: 0; padding: 0; background: transparent; min-width: 0;
}
.woocommerce-cart td.product-thumbnail::before,
.woocommerce-cart table.cart td::before { display: none !important; } /* responsive-labels uit */

.woocommerce-cart td.product-thumbnail { grid-area: thumb; align-self: start; }
.woocommerce-cart td.product-name { grid-area: name; align-self: center; }
.woocommerce-cart td.product-quantity { grid-area: qty; align-self: center; }
.woocommerce-cart td.product-subtotal { grid-area: price; align-self: center; }
.woocommerce-cart td.product-remove { grid-area: remove; align-self: center; }
.woocommerce-cart td.product-thumbnail img {
	width: 84px; height: 84px; border-radius: 14px; object-fit: cover; background: #ECE3D3;
}
.woocommerce-cart td.product-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 23px;
	color: var(--lk-ink);
	line-height: 1.2;
}
.woocommerce-cart td.product-name a { color: inherit; text-decoration: none; }
.lk-cart__meta {
	display: block;
	font-family: var(--font-sans, 'Manrope', sans-serif);
	font-size: 13px;
	color: #8A8295;
	margin-top: 4px;
}
.woocommerce-cart td.product-price { display: none; } /* dubbel met subtotaal */
.woocommerce-cart td.product-subtotal {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	color: var(--lk-ink);
	text-align: right;
	white-space: nowrap;
}
.woocommerce-cart td.product-remove { text-align: right; }
.woocommerce-cart td.product-remove a {
	color: #B6AEC2; font-size: 0;
	display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center;
	border-radius: 8px;
}
.woocommerce-cart td.product-remove a::before {
	content: ""; width: 18px; height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M4 7h16M9 7V5h6v2m-9 0 1 13h8l1-13'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M4 7h16M9 7V5h6v2m-9 0 1 13h8l1-13'/%3E%3C/svg%3E") center/contain no-repeat;
}
.woocommerce-cart td.product-remove a:hover { color: #C0564E; }

/* Aantal-stepper */
.lk-qty {
	display: inline-flex; align-items: center;
	border: 1px solid #E8DFD3; border-radius: 12px; background: #fff; overflow: hidden;
	width:fit-content;
}
.lk-qty input.qty {
	width: 46px; height: 46px; border: 0; text-align: center; background: transparent;
	font-family: var(--font-sans, 'Manrope', sans-serif); font-size: 15px; color: var(--lk-ink);
	-moz-appearance: textfield;
}
.lk-qty input.qty::-webkit-outer-spin-button,
.lk-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lk-qty__btn {
	width: 42px; height: 46px; border: 0; background: transparent; color: var(--lk-ink);
	font-size: 18px; cursor: pointer; line-height: 1;
}
.lk-qty__btn:hover { background: #F2ECE1; }

/* Verberg de standaard 'Winkelmand bijwerken' en coupon-acties netjes */
.woocommerce-cart .cart .actions .button[name="update_cart"] { display: none; }
.woocommerce-cart .cart .actions {
	display: flex; gap: 12px; padding: 22px 0 0; border-top: 1px solid var(--lk-line); margin-top: 8px;
}
.woocommerce-cart .cart .actions .coupon { display: flex; gap: 10px; }
.woocommerce-cart .cart .actions .coupon #coupon_code {
	height: 50px; border: 1px solid #E8DFD3; border-radius: 999px; padding: 0 20px; min-width: 200px;
}
.woocommerce-cart .cart .actions .coupon .button {
	height: 50px; border-radius: 999px; border: 1px solid var(--lk-purple);
	background: transparent; color: var(--lk-purple); padding: 0 24px;
	letter-spacing: .12em; text-transform: uppercase; font-size: 12px; font-weight: 600;
}

/* USP-balk */
.lk-cart__usps {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
	background: var(--lk-cream); border-radius: 16px; padding: 22px 26px; margin-top: 28px;
}
.lk-cart__usp { display: flex; align-items: center; gap: 14px; }
.lk-cart__usp-ico { color: var(--lk-purple); font-size: 20px; flex: none; }
.lk-cart__usp-txt { display: flex; flex-direction: column; font-family: var(--font-sans, 'Manrope', sans-serif); font-size: 13px; color: #6E647A; line-height: 1.3; }
.lk-cart__usp-txt strong { color: var(--lk-ink); font-weight: 600; }

/* Overzicht-kaart rechts */
.woocommerce-cart .cart-collaterals { width: 100%; float: none; }
.woocommerce-cart .cart-collaterals .cross-sells { display: none; }
.woocommerce-cart .cart_totals {
	width: 100% !important; float: none;
	background: var(--lk-cream); border-radius: 20px; padding: 32px;
	position: sticky; top: 24px;
}
.woocommerce-cart .cart_totals > h2 {
	font-family: var(--font-sans, 'Manrope', sans-serif);
	font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
	color: var(--lk-gold); margin: 0 0 18px;
}
.woocommerce-cart .cart_totals table { border: 0; margin: 0; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	border: 0; padding: 10px 0; font-family: var(--font-sans, 'Manrope', sans-serif);
	font-size: 15px; color: #5B5466; background: transparent;
}
.woocommerce-cart .cart_totals table td { text-align: right; color: var(--lk-ink); }
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td {
	font-family: 'Cormorant Garamond', serif; font-size: 28px; color: var(--lk-ink);
	padding-top: 18px; border-top: 1px solid var(--lk-line);
}
.woocommerce-cart .cart_totals tr.order-total .amount { color: var(--lk-purple); }
.woocommerce-cart .cart_totals tr.order-total small { display: block; font-family: var(--font-sans, 'Manrope', sans-serif); font-size: 12px; color: #8A8295; font-weight: 400; }

.woocommerce-cart .wc-proceed-to-checkout { padding: 22px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block; text-align: center;
	background: var(--lk-purple); color: #FAF6F0;
	border-radius: 999px; padding: 18px 24px;
	font-family: var(--font-sans, 'Manrope', sans-serif);
	font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	box-shadow: 0 16px 34px -18px rgba(82, 63, 109, .6);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--lk-ink); }

/* ====================== AFREKENEN ====================== */

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1fr 420px;
	column-gap: 56px;
	align-items: start;
}
/* Impreza floats neutraliseren en kolommen expliciet plaatsen. */
.woocommerce-checkout form.checkout > #customer_details {
	grid-column: 1; grid-row: 1 / span 2; float: none !important; width: 100% !important; min-width: 0;
}
.woocommerce-checkout form.checkout > #order_review_heading {
	grid-column: 2; grid-row: 1; float: none !important; width: auto !important; margin: 0 0 18px;
}
.woocommerce-checkout form.checkout > #order_review {
	grid-column: 2; grid-row: 2; float: none !important; width: 100% !important;
}

/* Terugkerende klant-banner */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	background: var(--lk-cream); border: 0; border-radius: 14px;
	color: var(--lk-ink); padding: 16px 22px; font-family: var(--font-sans, 'Manrope', sans-serif);
}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a { color: var(--lk-purple); }

/* Sectiekoppen */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-sans, 'Manrope', sans-serif);
	font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
	color: var(--lk-gold); margin: 0 0 18px;
}
.woocommerce-checkout #order_review_heading { font-family: 'Cormorant Garamond', serif; font-size: 30px; font-weight: 300; letter-spacing: 0; text-transform: none; color: var(--lk-ink); }

/* Velden */
.woocommerce-checkout .form-row label { font-size: 12px; color: #8A8295; font-family: var(--font-sans, 'Manrope', sans-serif); }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection,
.woocommerce-checkout .form-row select {
	border: 1px solid #E2DACB; border-radius: 12px; background: #fff;
	padding: 14px 16px; min-height: 52px; color: var(--lk-ink);
	font-family: var(--font-sans, 'Manrope', sans-serif); font-size: 15px;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus { border-color: var(--lk-purple); outline: none; }

/* Bestelling-kaart rechts */
.woocommerce-checkout #order_review {
	background: var(--lk-cream); border-radius: 20px; padding: 32px; position: sticky; top: 24px;
}
.woocommerce-checkout #order_review table.shop_table { border: 0; background: transparent; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	border: 0; padding: 10px 0; background: transparent;
	font-family: var(--font-sans, 'Manrope', sans-serif); font-size: 15px; color: #5B5466;
}
.woocommerce-checkout #order_review .cart_item td { color: var(--lk-ink); }
.woocommerce-checkout #order_review .product-name { font-family: 'Cormorant Garamond', serif; font-size: 18px; }
.woocommerce-checkout #order_review .product-total,
.woocommerce-checkout #order_review td.product-total { text-align: right; white-space: nowrap; }
.woocommerce-checkout #order_review tr.order-total th,
.woocommerce-checkout #order_review tr.order-total td {
	font-family: 'Cormorant Garamond', serif; font-size: 28px; color: var(--lk-ink);
	padding-top: 18px; border-top: 1px solid var(--lk-line);
}
.woocommerce-checkout #order_review tr.order-total .amount { color: var(--lk-purple); }

/* Betaalmethoden als pills */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods {
	border: 0; padding: 0; margin: 18px 0; display: flex; flex-direction: column; gap: 12px;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: #fff; border: 1px solid #E2DACB; border-radius: 14px; padding: 16px 18px; list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li label {
	display: flex; align-items: center; gap: 10px; font-family: var(--font-sans, 'Manrope', sans-serif);
	font-size: 14px; color: var(--lk-ink); margin: 0;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked ~ label { font-weight: 600; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--lk-purple); background: rgba(82, 63, 109, .06);
}
.woocommerce-checkout #payment ul.payment_methods li img { margin-left: auto; max-height: 24px; width: auto; }
.woocommerce-checkout #payment div.payment_box {
	background: transparent; color: #6E647A; font-size: 13px; margin-top: 10px;
	display: none!important;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }

/* Plaats bestelling-knop */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #place_order {
	width: 100%; background: var(--lk-purple); color: #FAF6F0;
	border: 0; border-radius: 999px; padding: 18px 24px; margin-top: 8px;
	font-family: var(--font-sans, 'Manrope', sans-serif);
	font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	box-shadow: 0 16px 34px -18px rgba(82, 63, 109, .6);
}
.woocommerce-checkout #place_order:hover { background: var(--lk-ink); }

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: #6E647A; margin-bottom: 14px; }
.lk-checkout__secure { font-size: 13px; color: #8A8295; text-align: center; margin: 14px 0 0; line-height: 1.5; }

/* ====================== MOBIEL ====================== */
@media (max-width: 900px) {
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 32px; }
	.woocommerce-cart .cart_totals,
	.woocommerce-checkout #order_review { position: static; }
	.lk-cart__usps { grid-template-columns: 1fr; gap: 16px; }
	.woocommerce-cart table.cart tr.cart_item { grid-template-columns: 70px 1fr auto; }
}

/* ============ Bestelregels met thumbnail (review-order) ============ */
.woocommerce-checkout #order_review .lk-co-table td.product-name { padding: 12px 0; vertical-align: middle; }
.woocommerce-checkout #order_review .lk-co-item { display: flex; align-items: center; gap: 14px; }
.woocommerce-checkout #order_review .lk-co-thumb {
	flex: none; width: 48px; height: 48px; border-radius: 10px; overflow: hidden; background: #fff;
}
.woocommerce-checkout #order_review .lk-co-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.woocommerce-checkout #order_review .lk-co-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.woocommerce-checkout #order_review .lk-co-name { font-family: 'Cormorant Garamond', serif; font-size: 18px; line-height: 1.15; color: var(--lk-ink); }
.woocommerce-checkout #order_review .lk-co-qty { font-family: var(--font-sans, 'Manrope', sans-serif); font-size: 12px; color: #8A8295; }
.woocommerce-checkout #order_review .lk-co-table td.product-total {
	font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--lk-ink); vertical-align: middle;
}
/* Scheidingslijn tussen de laatste productregel en de totalen */
.woocommerce-checkout #order_review .lk-co-table tbody tr:last-child td { border-bottom: 1px solid var(--lk-line); padding-bottom: 18px; }
.woocommerce-checkout #order_review .lk-co-table tfoot tr.cart-subtotal th,
.woocommerce-checkout #order_review .lk-co-table tfoot tr.cart-subtotal td { padding-top: 18px; }

/* ============ Terugkerende klant-balk: icoon + subtekst ============ */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	display: flex; align-items: center; gap: 12px;
}
.woocommerce-checkout .woocommerce-form-login-toggle .lk-login-ico { color: var(--lk-gold); font-size: 18px; display: inline-flex; flex: none; }
.woocommerce-checkout .woocommerce-form-login-toggle .lk-login-sub { color: #8A8295; }

@media only screen and (max-width: 767px) {
	.woocommerce .cart_totals{margin:0!important;}
	.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
	.woocommerce-cart .woocommerce > .lk-cart__sub, .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {grid-column: span 2;}
	.woocommerce-checkout form.checkout > #order_review_heading,
	.woocommerce-checkout form.checkout > #order_review{grid-column: span 2; grid-row:initial;}

	.woocommerce .shop_table.cart .woocommerce-cart-form__cart-item.cart_item td.product-thumbnail {width: 100% !important;}
}