/* Leef Preventief ontwerpsysteem, laag 4b: WooCommerce (lp-woocommerce.css, versie 1.0.0).
   Alleen op Winkelwagen, Afrekenen en Mijn account, via functions-lp-woo.php. Klassieke opmaak van WooCommerce.
   Kleuren uit de variabelen van laag 1. Letters en knoppen gekopieerd uit lp-h3, lp-btn en lp-btn-line: pas die mee aan. */

/* Berichtinhoud van Elementor Pro zet kleur en letter uit de Kit; hier erft hij van de pagina */
.lp-ds :is(.elementor-widget-theme-post-content,.elementor-widget-theme-post-content>.elementor-widget-container){color:inherit!important;
  font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}

/* Basis */
.lp-ds .woocommerce{font-size:1.0625rem;line-height:1.6;color:var(--lp-text)}
.lp-ds .woocommerce :is(p,ul,ol,address){margin-block:0 1em}
.lp-ds .woocommerce a:not(.button,.remove){color:var(--lp-primary);font-weight:500;text-decoration:underline;text-decoration-color:var(--lp-amber);
  text-decoration-thickness:2px;text-underline-offset:4px}
.lp-ds .woocommerce a:not(.button,.remove):hover{text-decoration-thickness:3px}
.lp-ds .woocommerce :is(strong,b,th){color:var(--lp-primary)}
.lp-ds .woocommerce :is(h2,h3):not(.screen-reader-text){margin:0 0 18px;font-family:"Fraunces",Georgia,serif!important;font-variation-settings:"SOFT" 28,"WONK" 0;
  font-weight:400!important;font-size:1.375rem!important;line-height:1.24!important;letter-spacing:-.015em;color:var(--lp-primary)!important}
.lp-ds .woocommerce .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lp-ds .woocommerce-notices-wrapper:empty{display:none}
.lp-ds .woocommerce del{opacity:.6}
.lp-ds .woocommerce ins{text-decoration:none}

/* Knoppen in de vorm van lp-btn; bijwerken, kortingscode en terug in de vorm van lp-btn-line */
.lp-ds .woocommerce :is(a.button,button.button,input.button){display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  box-sizing:border-box;max-width:100%;width:auto;margin:0;padding:.85em 1.5em!important;font-family:"Hanken Grotesk",system-ui,sans-serif!important;font-size:1.0625rem!important;font-weight:500!important;
  line-height:1.2!important;letter-spacing:normal!important;text-transform:none!important;text-align:center;text-decoration:none!important;
  white-space:normal;cursor:pointer;color:var(--lp-deep)!important;background:var(--lp-amber)!important;border:1.5px solid transparent!important;
  border-radius:999px!important;box-shadow:none!important;text-shadow:none!important;transition:background-color .2s,color .2s,border-color .2s}
.lp-ds .woocommerce :is(a.button,button.button,input.button):is(:hover,:focus-visible){background:var(--lp-amber-hover)!important}
.lp-ds .woocommerce :is(button[name=update_cart],button[name=apply_coupon],a.wc-backward,.woocommerce-message a.button){color:var(--lp-primary)!important;
  background:transparent!important;border-color:var(--lp-primary)!important}
.lp-ds .woocommerce :is(button[name=update_cart],button[name=apply_coupon],a.wc-backward,.woocommerce-message a.button):is(:hover,:focus-visible){
  color:var(--lp-cream)!important;background:var(--lp-primary)!important}
.lp-ds .woocommerce :is(button.button,input.button):disabled{opacity:.45;cursor:not-allowed}

/* Velden in de vorm van het formulier op /contact/ */
.lp-ds .woocommerce :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],
  input.input-text,select,textarea){box-sizing:border-box;width:100%;max-width:100%;margin:0!important;padding:.75em 1em!important;
  font-family:"Hanken Grotesk",system-ui,sans-serif!important;font-size:1.0625rem!important;line-height:1.5!important;color:var(--lp-text)!important;
  background-color:var(--lp-cream)!important;border:1.5px solid var(--lp-line)!important;border-radius:12px!important;box-shadow:none!important;outline:0}
.lp-ds .woocommerce :is(input,select,textarea):focus{border-color:var(--lp-amber)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--lp-amber) 28%,transparent)!important}
.lp-ds .woocommerce ::placeholder{color:color-mix(in srgb,var(--lp-text) 55%,transparent)}
.lp-ds .woocommerce form .form-row{margin:0 0 18px;padding:0}
.lp-ds .woocommerce form .form-row label:not(.checkbox,.woocommerce-form__label-for-checkbox){display:block;margin:0 0 8px;font-size:1rem;
  font-weight:500;line-height:1.4;color:var(--lp-primary)}
.lp-ds .woocommerce form .form-row .required{color:inherit!important;text-decoration:none;border:0}
.lp-ds .woocommerce :is(.woocommerce-form__label-for-checkbox,label.checkbox){display:flex!important;align-items:flex-start;gap:10px;
  font-size:.95rem;font-weight:400;line-height:1.5;cursor:pointer}
.lp-ds .woocommerce :is(input[type=checkbox],input[type=radio]){flex:none;width:18px;height:18px;margin:3px 0 0!important;accent-color:var(--lp-amber)}
.lp-ds .woocommerce form .form-row.woocommerce-invalid :is(input,select){border-color:var(--lp-amber)!important}
.lp-ds .woocommerce form .form-row.woocommerce-validated :is(input,select){border-color:var(--lp-line)!important}
.lp-ds .woocommerce .select2-container .select2-selection--single{height:auto;padding:.75em 2.5em .75em 1em;background:var(--lp-cream);
  border:1.5px solid var(--lp-line);border-radius:12px}
.lp-ds .woocommerce .select2-container .select2-selection__rendered{padding:0!important;line-height:1.5!important;color:var(--lp-text)!important}
.lp-ds .woocommerce .select2-container .select2-selection__arrow{top:50%!important;right:12px!important;transform:translateY(-50%)}
.lp-ds .select2-dropdown{border-color:var(--lp-line)!important;border-radius:12px;overflow:hidden}
.lp-ds .select2-results__option--highlighted{background:var(--lp-primary)!important;color:var(--lp-cream)!important}

/* Meldingen, met de amber lijn van laag 4 */
.lp-ds :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-thankyou-order-received){margin:0 0 24px!important;
  padding:16px 20px!important;list-style:none;border:0!important;border-inline-start:3px solid var(--lp-amber)!important;border-radius:8px;
  background:var(--lp-sand)!important;color:var(--lp-primary)!important;font-size:1rem;line-height:1.5}
.lp-ds :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{content:none!important}
.lp-ds .woocommerce-error li{margin:0}
.lp-ds .woocommerce-message:has(>a.button){display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:12px 16px}
.lp-ds .woocommerce-message>a.button{float:none;flex:none;margin:0}

/* Tabellen: winkelwagen, overzicht bij afrekenen, bestellingen en downloads */
.lp-ds .woocommerce table.shop_table{width:100%;margin:0 0 24px;border:0!important;border-collapse:collapse!important;border-radius:0!important;
  font-size:1rem;line-height:1.5}
.lp-ds .woocommerce table.shop_table :is(th,td){padding:14px 12px 14px 0!important;border:0!important;border-bottom:1px solid var(--lp-line)!important;
  background:transparent!important;text-align:start;vertical-align:middle}
.lp-ds .woocommerce table.shop_table :is(th,td):last-child{padding-inline-end:0!important}
.lp-ds .woocommerce table.shop_table thead th{font-weight:600;border-bottom:2px solid var(--lp-amber)!important}
.lp-ds .woocommerce table.shop_table tfoot :is(th,td){font-weight:500}
.lp-ds .woocommerce table.shop_table .order-total :is(th,td){font-size:1.125rem;border-bottom:0!important}

/* Winkelwagen */
.lp-ds .woocommerce table.cart td.product-remove{width:44px}
.lp-ds .woocommerce a.remove{display:inline-flex!important;align-items:center;justify-content:center;width:30px;height:30px;font-size:1.25rem;
  font-weight:400;line-height:1;text-decoration:none;color:var(--lp-primary)!important;background:transparent;border:1.5px solid var(--lp-line);
  border-radius:50%;transition:background-color .2s,color .2s,border-color .2s}
.lp-ds .woocommerce a.remove:is(:hover,:focus-visible){color:var(--lp-cream)!important;background:var(--lp-primary);border-color:var(--lp-primary)}
.lp-ds .woocommerce table.cart td.product-thumbnail{width:88px}
.lp-ds .woocommerce table.cart td.product-thumbnail img{display:block;width:72px!important;height:auto;border-radius:12px}
.lp-ds .woocommerce table.cart td.product-name a{font-weight:600;text-decoration:none}
.lp-ds .woocommerce table.cart td.product-name a:hover{text-decoration:underline}
.lp-ds .woocommerce .quantity .qty{width:5.5em!important;padding:.55em .5em!important;text-align:center}
.lp-ds .woocommerce table.cart td.actions{padding-top:22px!important;border-bottom:0!important}
.lp-ds .woocommerce table.cart td.actions .coupon{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.lp-ds .woocommerce table.cart td.actions .coupon .input-text{width:13em!important;float:none}
.lp-ds .woocommerce .cart-collaterals{margin-top:clamp(32px,4vw,48px)}
.lp-ds .woocommerce .cart-collaterals .cart_totals{float:none!important;width:100%!important;max-width:30rem;margin-inline-start:auto;
  box-sizing:border-box;padding:clamp(24px,3vw,32px);border-radius:20px;background:var(--lp-sand)}
.lp-ds .woocommerce .wc-proceed-to-checkout{padding:8px 0 0!important}
.lp-ds .woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex!important;width:100%;margin:0!important;font-size:1.125rem!important}
.lp-ds .woocommerce .wc-empty-cart-message+.return-to-shop{margin:0}

/* Afrekenen: gegevens links, bestelling rechts */
.lp-ds .woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);column-gap:clamp(32px,5vw,64px);align-items:start}
.lp-ds .woocommerce form.checkout>*{grid-column:1/-1;grid-row:1}
.lp-ds .woocommerce form.checkout>#customer_details{grid-column:1;grid-row:2/span 2}
.lp-ds .woocommerce form.checkout>#order_review_heading{grid-column:2;grid-row:2;margin:0;padding:clamp(24px,3vw,32px) clamp(24px,3vw,32px) 0;
  border-radius:20px 20px 0 0;background:var(--lp-sand)}
.lp-ds .woocommerce form.checkout>#order_review{grid-column:2;grid-row:3;padding:18px clamp(24px,3vw,32px) clamp(24px,3vw,32px);
  border-radius:0 0 20px 20px;background:var(--lp-sand)}
.lp-ds .woocommerce #customer_details.col2-set{display:grid;gap:clamp(24px,3vw,32px)}
.lp-ds .woocommerce .col2-set::before,.lp-ds .woocommerce .col2-set::after{content:none}
.lp-ds .woocommerce .col2-set>:is(.col-1,.col-2){float:none;width:auto;max-width:none}
.lp-ds .woocommerce #payment{background:transparent!important;border-radius:0}
.lp-ds .woocommerce #payment ul.payment_methods{margin:0;padding:0 0 12px!important;border-bottom:1px solid var(--lp-line)!important}
.lp-ds .woocommerce #payment li.wc_payment_method{margin:0;padding:10px 0;list-style:none}
.lp-ds .woocommerce #payment li.wc_payment_method>label{font-weight:500;color:var(--lp-primary)}
.lp-ds .woocommerce #payment div.payment_box{margin:12px 0 0;padding:14px 16px;border-radius:12px;background:var(--lp-cream);color:var(--lp-text);font-size:.95rem}
.lp-ds .woocommerce #payment div.payment_box::before{border-bottom-color:var(--lp-cream)}
.lp-ds .woocommerce #payment div.form-row{padding:18px 0 0!important}
.lp-ds .woocommerce #payment #place_order{float:none;width:100%;font-size:1.125rem!important}
.lp-ds .woocommerce :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper){font-size:.95rem}
.lp-ds .woocommerce :is(form.checkout_coupon,form.login,form.register,form.lost_reset_password){max-width:34rem;margin:0 0 32px;
  padding:clamp(24px,3vw,32px);border:0;border-radius:20px;background:var(--lp-sand)}

/* Na de bestelling: overzicht en adressen */
.lp-ds .woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:16px 40px;margin:0 0 32px;padding:0}
.lp-ds .woocommerce ul.order_details li{float:none;margin:0;padding:0;border:0;font-size:.95rem;line-height:1.45;text-transform:none}
.lp-ds .woocommerce ul.order_details li strong{display:block;font-size:1.0625rem;text-transform:none}
.lp-ds .woocommerce :is(.woocommerce-order-details,.woocommerce-order-downloads,.woocommerce-customer-details){margin:0 0 clamp(32px,4vw,48px)}
.lp-ds .woocommerce .woocommerce-customer-details address{padding:0;border:0;font-style:normal}

/* Mijn account: menu links in de vorm van lp-inhoud */
.lp-ds .woocommerce:has(>.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start}
.lp-ds .woocommerce:has(>.woocommerce-MyAccount-navigation)>.woocommerce-notices-wrapper{grid-column:1/-1}
.lp-ds .woocommerce:has(>.woocommerce-MyAccount-navigation)::before,.lp-ds .woocommerce:has(>.woocommerce-MyAccount-navigation)::after{content:none}
.lp-ds .woocommerce :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){float:none;width:auto}
.lp-ds .woocommerce .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none}
.lp-ds .woocommerce .woocommerce-MyAccount-navigation a{display:block;padding:9px 0 9px 14px;border-inline-start:3px solid var(--lp-line);
  color:var(--lp-text);font-weight:500;text-decoration:none}
.lp-ds .woocommerce .woocommerce-MyAccount-navigation a:hover{color:var(--lp-primary);border-inline-start-color:color-mix(in srgb,var(--lp-amber) 55%,transparent)}
.lp-ds .woocommerce .woocommerce-MyAccount-navigation .is-active a{color:var(--lp-primary);font-weight:600;border-inline-start-color:var(--lp-amber)}
.lp-ds .woocommerce .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}

/* Tablet (Elementor tot 1024): alles onder elkaar */
@media (max-width:1024px){
  .lp-ds .woocommerce form.checkout,.lp-ds .woocommerce:has(>.woocommerce-MyAccount-navigation){grid-template-columns:minmax(0,1fr)}
  .lp-ds .woocommerce form.checkout>*{grid-column:1!important;grid-row:auto!important}
  .lp-ds .woocommerce form.checkout>#order_review_heading{margin-top:clamp(32px,4vw,48px)}
}

/* Tabel van de winkelwagen als blokken: het punt van WooCommerce zelf (768) */
@media (max-width:768px){
  .lp-ds .woocommerce table.shop_table_responsive tr{display:block;padding:12px 0;border-bottom:1px solid var(--lp-line)}
  .lp-ds .woocommerce table.shop_table_responsive tr :is(th,td){padding:6px 0!important;border-bottom:0!important}
  .lp-ds .woocommerce table.shop_table_responsive tr td::before{font-weight:500;color:var(--lp-primary)}
  .lp-ds .woocommerce table.cart td.product-remove{width:auto}
  .lp-ds .woocommerce table.cart td.actions .coupon{float:none;margin-bottom:12px}
  .lp-ds .woocommerce table.cart td.actions .coupon :is(.input-text,.button){width:100%!important}
  .lp-ds .woocommerce table.cart td.actions>.button{width:100%}
}

/* Mobiel (Elementor tot 767) */
@media (max-width:767px){
  .lp-ds .woocommerce .woocommerce-Addresses{grid-template-columns:minmax(0,1fr)}
  .lp-ds .woocommerce-message:has(>a.button){flex-direction:column-reverse;align-items:stretch}
}
