/* Buiten.studio Kassa — winkelmand & afrekenen (ontwerp Claude Design, sept 2026)
   Werkt op de standaard WooCommerce-markup; typografie komt uit het thema. */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce{
  --bk-bg:#f7f5f0; --bk-card:#efece4; --bk-line:#e3ded3; --bk-border:#d9d3c6; --bk-ink:#1f2a24; --bk-muted:#5c645e; --bk-faint:#7a817b;
  --bk-green:#2C392D; --bk-gold:#BE9F56; --bk-gold-dark:#a98a45; --bk-gold-text:#8a6d2a; --bk-ok:#5f8a63; --bk-ok-bg:#e6eee6;
  color:var(--bk-ink); font-size:14px;
}
/* ---------- Knoppen ---------- */
.woocommerce-cart .woocommerce .bk-btn, .woocommerce-checkout .woocommerce #place_order{
  display:block; width:100%; box-sizing:border-box; text-align:center; padding:0 22px; line-height:52px; border-radius:999px; border:0;
  background:var(--bk-gold) !important; color:var(--bk-ink) !important; font-weight:600; font-size:14px; text-decoration:none !important; text-transform:none; letter-spacing:0; cursor:pointer;
}
.woocommerce-cart .woocommerce .bk-btn:hover, .woocommerce-checkout .woocommerce #place_order:hover{ background:var(--bk-gold-dark) !important; }
.woocommerce-cart .woocommerce .button:not(.bk-btn), .woocommerce-checkout .woocommerce .button:not(#place_order){
  border-radius:999px; background:transparent; border:1px solid var(--bk-ink); color:var(--bk-ink); padding:0 18px; line-height:42px; font-size:13px; font-weight:600; text-transform:none; letter-spacing:0;
}
.woocommerce-cart .woocommerce .button:not(.bk-btn):hover, .woocommerce-checkout .woocommerce .button:not(#place_order):hover{ background:var(--bk-ink); color:#fff; }
.bk-verder{ text-align:center; margin:14px 0 0; }
.bk-verder a{ color:var(--bk-gold-text) !important; font-weight:600; font-size:13px; text-decoration:none !important; }
/* ---------- Velden ---------- */
.woocommerce-cart .woocommerce input.input-text, .woocommerce-checkout .woocommerce input.input-text, .woocommerce-checkout .woocommerce select, .woocommerce-checkout .woocommerce textarea, .woocommerce-checkout .select2-container .select2-selection--single{
  width:100%; box-sizing:border-box; height:46px; padding:0 16px; border:1px solid var(--bk-border); border-radius:10px; background:#fff; font-size:14px; color:var(--bk-ink);
}
.woocommerce-checkout .woocommerce textarea{ height:auto; padding:12px 16px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{ line-height:44px; padding-left:0; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{ height:44px; }
.woocommerce-cart .woocommerce input.input-text:focus, .woocommerce-checkout .woocommerce input.input-text:focus, .woocommerce-checkout .woocommerce select:focus, .woocommerce-checkout .woocommerce textarea:focus{ outline:none; border-color:var(--bk-gold-text); box-shadow:0 0 0 3px rgba(190,159,86,.25); }
.woocommerce-checkout .woocommerce .form-row label{ display:block; font-size:13px; font-weight:500; margin-bottom:6px; color:var(--bk-ink); }
.woocommerce-checkout .woocommerce .form-row label .required{ color:var(--bk-gold-text); text-decoration:none; }
.woocommerce-checkout .woocommerce .form-row{ margin:0 0 14px; padding:0; }
.woocommerce-checkout .woocommerce .form-row .optional{ color:var(--bk-faint); font-weight:400; }
/* ---------- Kaart ---------- */
.bk-kaart, .woocommerce-cart .cart_totals, .woocommerce-checkout .bk-samenvatting{
  background:#fff; border-radius:16px; padding:24px; box-shadow:0 1px 3px rgba(31,42,36,.08);
}

/* ================= WINKELMAND ================= */
body.woocommerce-cart .woocommerce{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,460px) !important; gap:40px 56px; align-items:start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{ grid-column:1/-1; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty{ display:none; }
.woocommerce-cart .woocommerce-cart-form{ grid-column:1; }
.woocommerce-cart .cart-collaterals{ grid-column:2; grid-row:2; width:100%; min-width:0; }
.woocommerce-cart .cart-collaterals .cart_totals{ float:none !important; width:100% !important; box-sizing:border-box; }
.woocommerce-cart .woocommerce-cart-form{ min-width:0; width:100%; }
.woocommerce-cart .bs-bk-cart-notice{ grid-column:1; margin:16px 0 0; font-size:13px; color:var(--bk-muted); }
/* tabel → rijen */
.woocommerce-cart table.shop_table.cart{ display:block; width:100% !important; max-width:100%; box-sizing:border-box; overflow:visible !important; border:0; border-top:1px solid var(--bk-ink); margin:0; }
.woocommerce-cart .woocommerce-cart-form{ overflow:visible !important; }
.woocommerce-cart table.shop_table.cart thead{ display:none; }
.woocommerce-cart table.shop_table.cart tbody{ display:block; width:100%; }
.woocommerce-cart table.shop_table.cart tr.cart_item{ display:grid; grid-template-columns:64px max-content minmax(0,1fr) max-content; grid-template-rows:auto auto auto; column-gap:16px; row-gap:6px; padding:18px 0; border:0; border-bottom:1px solid var(--bk-line); width:100%; box-sizing:border-box; }
.woocommerce-cart table.shop_table.cart td{ display:block; width:auto !important; min-width:0; padding:0 !important; border:0 !important; background:none !important; text-align:left; }
.woocommerce-cart table.shop_table.cart td::before{ display:none !important; }
.woocommerce-cart td.product-thumbnail{ grid-column:1; grid-row:1/4; }
.woocommerce-cart td.product-thumbnail img{ width:64px; height:64px; object-fit:cover; border-radius:8px; display:block; }
.woocommerce-cart td.product-name{ grid-column:2 / 4; grid-row:1; font-size:15px; font-weight:600; }
.woocommerce-cart td.product-name a{ color:var(--bk-ink) !important; text-decoration:none !important; }
.woocommerce-cart td.product-name .variation, .woocommerce-cart td.product-name dl{ font-size:12px; font-weight:400; color:var(--bk-muted); margin:2px 0 0; }
.woocommerce-cart td.product-price{ grid-column:2 / 4; grid-row:2; font-size:13px; color:var(--bk-muted); }
.woocommerce-cart td.product-quantity{ grid-column:2; grid-row:3; font-size:13px; color:var(--bk-muted); display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.woocommerce-cart tr.cart_item:has(.bs-bk-cart-qty) td.product-quantity{ grid-row:2 / span 2; }
.woocommerce-cart td.product-quantity .bs-bk-cart-qty{ display:block; white-space:normal; }
.woocommerce-cart tr.cart_item:has(.bs-bk-cart-qty) td.product-price{ display:none; }
.woocommerce-cart td.product-quantity .quantity{ display:inline-flex; align-items:center; }
.woocommerce-cart td.product-quantity input.qty{ width:72px; height:38px; padding:0 8px; text-align:center; border-radius:999px; margin:0; }
.woocommerce-cart td.product-quantity .bs-bk-cart-wijzig{ flex:none; white-space:nowrap; margin:0; color:var(--bk-gold-text) !important; font-weight:600; font-size:12px; }
.woocommerce-cart td.product-subtotal{ grid-column:4; grid-row:1; font-size:15px; font-weight:600; text-align:right !important; white-space:nowrap; }
/* Verwijderen naast de laatste regel van de aantal-cel (zelfde regel als 'Datum of aantal wijzigen') */
.woocommerce-cart td.product-remove{ grid-column:3; grid-row:3; justify-self:start; align-self:end; padding-bottom:1px !important; }
.woocommerce-cart tr.cart_item:not(:has(.bs-bk-cart-qty)) td.product-remove{ align-self:center; }
.woocommerce-cart td.product-remove a.remove{ display:inline-block; width:auto; height:auto; font-size:0 !important; color:var(--bk-faint) !important; background:none !important; border-radius:0; line-height:1; }
.woocommerce-cart td.product-remove a.remove::after{ content:"Verwijderen"; font-size:12px; font-weight:500; }
.woocommerce-cart td.product-remove a.remove:hover::after{ color:var(--bk-ink); text-decoration:underline; }
/* acties-rij: knop weg (auto-bijwerken), coupon verhuist naar de kaart */
.woocommerce-cart table.shop_table.cart tr:not(.cart_item){ display:block; }
.woocommerce-cart td.actions{ padding:0 !important; }
.woocommerce-cart td.actions button[name="update_cart"]{ position:absolute; left:-9999px; }
/* samenvattingskaart */
.woocommerce-cart .cart_totals h2{ display:none; }
.woocommerce-cart .cart_totals .bk-coupon{ display:flex !important; float:none !important; width:100%; box-sizing:border-box; gap:10px; margin:0 0 18px !important; }
.woocommerce-cart .cart_totals .bk-coupon input{ flex:1 1 0% !important; width:auto !important; max-width:none !important; min-width:0; height:46px !important; float:none !important; margin:0 !important; }
.woocommerce-cart .cart_totals .bk-coupon .button{ flex:none; float:none !important; height:46px !important; line-height:44px !important; padding:0 18px !important; margin:0 !important; box-sizing:border-box; }
.woocommerce-cart .cart_totals table.shop_table{ border:0; margin:0 0 18px; width:100%; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td{ border:0 !important; border-bottom:1px solid var(--bk-line) !important; padding:12px 0 !important; background:none !important; font-size:14px; font-weight:400; color:var(--bk-muted); text-align:left; }
.woocommerce-cart .cart_totals table.shop_table td{ text-align:right; color:var(--bk-ink); }
.woocommerce-cart .cart_totals table.shop_table td::before{ display:none !important; }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td{ border-bottom:0 !important; padding-top:16px !important; color:var(--bk-ink); font-weight:600; font-size:16px; }
.woocommerce-cart .cart_totals tr.order-total > td > strong > .amount{ font-size:26px; }
.woocommerce-cart .cart_totals tr.order-total small.includes_tax{ display:block; font-size:12px; color:var(--bk-faint); font-weight:400; white-space:normal; }
.woocommerce-cart .cart_totals tr.order-total small.includes_tax .amount{ font-size:12px; }
.woocommerce-cart .cart_totals{ min-width:0; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination, .woocommerce-cart .cart_totals .woocommerce-shipping-calculator{ font-size:12px; color:var(--bk-faint); }
.woocommerce-cart .cart_totals ul#shipping_method{ margin:0; padding:0; list-style:none; text-align:right; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout{ padding:0; margin:0; }
.woocommerce-cart .cart-discount .woocommerce-remove-coupon{ margin-left:6px; color:var(--bk-faint) !important; }
.woocommerce-cart .cart-discount td, .woocommerce-cart .cart-discount th{ color:var(--bk-ok) !important; }

/* "Je bent misschien ook geïnteresseerd in…" (cross-sells): kassa.js zet ze onder het raster en geeft elk product uk-card uk-card-default uk-card-body (themastijl) */
.woocommerce-cart .cross-sells{ grid-column:1/-1; margin-top:24px; }
.woocommerce-cart .cross-sells h2{ margin:0 0 20px; }
.woocommerce-cart .cross-sells ul.products{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:0 !important; padding:0; list-style:none; }
@media (max-width:900px){ .woocommerce-cart .cross-sells ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }
.woocommerce-cart .cross-sells ul.products::before, .woocommerce-cart .cross-sells ul.products::after{ display:none; }
.woocommerce-cart .cross-sells ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; display:flex; flex-direction:column; }
.woocommerce-cart .cross-sells li.product img{ width:100%; aspect-ratio:1; object-fit:contain; display:block; margin:0 0 14px; }
.woocommerce-cart .cross-sells li.product .woocommerce-loop-product__title, .woocommerce-cart .cross-sells li.product h2{ font-size:16px; line-height:1.3; margin:0 0 6px; }
.woocommerce-cart .cross-sells li.product .price{ font-size:14px; margin:0 0 14px; display:block; }
.woocommerce-cart .cross-sells li.product .button{ margin-top:auto !important; align-self:stretch; display:block !important; width:100% !important; height:auto !important; aspect-ratio:auto !important; padding:12px 16px !important; border-radius:999px !important; white-space:nowrap; text-align:center; line-height:1.3 !important; font-size:13px; font-weight:600; background:#2C392D !important; border:1px solid #2C392D !important; color:#fff !important; }
.woocommerce-cart .cross-sells li.product .button:hover{ background:#1f2a24 !important; border-color:#1f2a24 !important; }
.woocommerce-cart .cross-sells li.product .added_to_cart{ display:block; margin-top:8px; font-size:13px; text-align:center; }

/* ================= AFREKENEN ================= */
.woocommerce-checkout .woocommerce > .woocommerce-form-login-toggle, .woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle{ margin:0 0 8px; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info, .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{ background:none !important; padding:0 !important; margin:0 !important; border:0 !important; font-size:13px; color:var(--bk-muted); box-shadow:none; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before, .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{ display:none; }
.woocommerce-checkout .woocommerce-form-login-toggle a, .woocommerce-checkout .woocommerce-form-coupon-toggle a{ color:var(--bk-gold-text) !important; font-weight:600; }
.woocommerce-checkout form.login, .woocommerce-checkout form.checkout_coupon{ background:var(--bk-card); border:0 !important; border-radius:14px; padding:20px 24px !important; margin:0 0 20px !important; }
.woocommerce-checkout form.checkout_coupon{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.woocommerce-checkout form.checkout_coupon .form-row{ margin:0; flex:1 1 200px; }
.woocommerce-checkout form.checkout_coupon .form-row-last{ flex:none; }
.woocommerce-checkout form.checkout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,460px); gap:28px 56px; align-items:start; }
.woocommerce-checkout form.checkout > *{ grid-column:1; }
.woocommerce-checkout #customer_details{ display:block; width:auto; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2{ float:none; width:auto; max-width:none; padding:0; }
.woocommerce-checkout #customer_details .col-2{ margin-top:22px; }
.woocommerce-checkout .woocommerce h3{ font-size:24px; margin:0 0 16px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row{ width:auto; float:none; grid-column:1/-1; }
.woocommerce-checkout .form-row.form-row-first, .woocommerce-checkout .form-row.form-row-last{ grid-column:auto; }
.woocommerce-checkout .form-row.form-row-third{ grid-column:auto; }
.woocommerce-checkout .form-row.form-row-third.first{ grid-column:1/-1; }
.woocommerce-checkout #billing_phone_field, .woocommerce-checkout #billing_email_field{ grid-column:auto; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .clear{ display:none; }
.woocommerce-checkout .woocommerce-additional-fields h3{ font-size:16px; margin-top:6px; }
.woocommerce-checkout .bs-bk-info{ margin:0 !important; }
.woocommerce-checkout .bs-bk-adres-toggle{ display:inline-block; margin:0 0 10px; }
.woocommerce-checkout .woocommerce-account-fields{ margin-top:6px; font-size:13px; }
.woocommerce-checkout #order_review_heading{ display:none; }
.woocommerce-checkout #order_review{ display:contents; }
.woocommerce-checkout #payment{ display:contents; }
/* samenvatting rechts (sticky): kassa.js zet tabel + bestelknop samen in .bk-samenvatting */
.woocommerce-checkout .bk-samenvatting{ grid-column:2; grid-row:1 / span 8; position:sticky; top:24px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table{ border:0; margin:0 0 18px; width:100%; }
.woocommerce-checkout .place-order{ margin:0; padding:0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead{ display:none; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td, .woocommerce-checkout .woocommerce-checkout-review-order-table th{ border:0 !important; border-bottom:1px solid var(--bk-line) !important; padding:12px 0 !important; background:none !important; text-align:left; font-size:14px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name{ font-weight:600; font-size:15px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity{ font-weight:400; color:var(--bk-muted); font-size:13px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total{ text-align:right; white-space:nowrap; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{ font-weight:400; color:var(--bk-muted); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{ text-align:right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th, .woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td{ border-bottom:0 !important; padding-top:16px !important; font-weight:600; color:var(--bk-ink); font-size:16px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total > td > strong > .amount{ font-size:26px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total small.includes_tax{ display:block; font-size:12px; color:var(--bk-faint); font-weight:400; white-space:normal; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total small.includes_tax .amount{ font-size:12px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation{ font-size:12px; color:var(--bk-muted); font-weight:400; }
/* betaalmethoden links als radiokaarten */
.woocommerce-checkout ul.wc_payment_methods{ grid-column:1; list-style:none; margin:0; padding:0; background:none !important; display:flex; flex-direction:column; gap:10px; }
.woocommerce-checkout ul.wc_payment_methods::before{ content:"Betalen"; display:block; font-size:24px; font-weight:500; margin:8px 0 6px; font-family:inherit; }
.woocommerce-checkout li.wc_payment_method{ margin:0 !important; padding:0 !important; background:#fff !important; border:1px solid var(--bk-line); border-radius:12px; }
.woocommerce-checkout li.wc_payment_method:has(input:checked){ border-color:var(--bk-ink); background:var(--bk-card) !important; }
.woocommerce-checkout li.wc_payment_method > label{ display:flex !important; align-items:center; gap:12px; padding:14px 16px; margin:0 !important; font-weight:500; font-size:14px; cursor:pointer; }
.woocommerce-checkout li.wc_payment_method > label img{ max-height:24px; margin-left:auto !important; }
.woocommerce-checkout li.wc_payment_method > input[type=radio]{ position:absolute; opacity:0; }
.woocommerce-checkout li.wc_payment_method > label::before{ content:""; width:16px; height:16px; border-radius:50%; border:1.5px solid var(--bk-border); background:#fff; flex:none; box-sizing:border-box; }
.woocommerce-checkout li.wc_payment_method:has(input:checked) > label::before{ border:5px solid var(--bk-ink); }
.woocommerce-checkout li.wc_payment_method .payment_box{ margin:0 !important; padding:0 16px 14px 44px !important; background:none !important; font-size:13px; color:var(--bk-muted); }
.woocommerce-checkout li.wc_payment_method .payment_box::before{ display:none !important; }
/* bestelknop */
.woocommerce-checkout .place-order .woocommerce-terms-and-conditions-wrapper{ font-size:12px; color:var(--bk-faint); margin:0 0 14px; }
.woocommerce-checkout .place-order .bs-bk-reserve-note{ margin:12px 0 0; }
.woocommerce-checkout .woocommerce-NoticeGroup{ grid-column:1/-1; }
/* alleen workshops: adresvelden ingeklapt (buiten-planning zet de class + toggle) */
.woocommerce-checkout .bs-bk-adresveld{ display:none; }
.woocommerce-checkout .bs-bk-adres-open .bs-bk-adresveld{ display:block; }

/* ================= MOBIEL ================= */
@media (max-width:900px){
  body.woocommerce-cart .woocommerce, .woocommerce-checkout form.checkout{ grid-template-columns:minmax(0,1fr) !important; gap:24px; }
  .woocommerce-cart .woocommerce-cart-form, .woocommerce-cart .cart-collaterals, .woocommerce-cart .bs-bk-cart-notice, .woocommerce-cart .cross-sells{ grid-column:1 !important; grid-row:auto !important; }
  .woocommerce-checkout form.checkout > *, .woocommerce-checkout .bk-samenvatting, .woocommerce-checkout ul.wc_payment_methods{ grid-column:1; grid-row:auto; position:static; }
  .woocommerce-checkout .bk-samenvatting{ order:10; } /* op mobiel: eerst gegevens en betaalwijze, dan samenvatting + knop */
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ grid-template-columns:1fr; }
  .woocommerce-checkout .form-row.form-row-first, .woocommerce-checkout .form-row.form-row-last, .woocommerce-checkout #billing_phone_field, .woocommerce-checkout #billing_email_field{ grid-column:1/-1; }
  .bk-kaart, .woocommerce-cart .cart_totals, .woocommerce-checkout .bk-samenvatting{ padding:18px; }
  .woocommerce-cart table.shop_table.cart tr.cart_item{ grid-template-columns:56px max-content minmax(0,1fr) max-content; }
}
