/* v2.4 onderdeel D: winkelwagen, afrekenen, mini-footer (bord 7) */

/* ---------- Focusmodus: smalle kolom ---------- */
.qs-v24d-focus.qs-woo-section{padding:20px 0 36px!important}
.qs-v24d-focus .qs-wrap{max-width:600px;padding:0 16px}
.qs-v24d-focus .qs-woo-title{font-size:26px!important;margin:0 0 12px!important}
.qs-v24d-focus .qs-woo{font-size:16px;line-height:1.45}
.qs-v24d-focus .woocommerce-notices-wrapper:empty{display:none}
.qs-v24d-focus .woocommerce-message,.qs-v24d-focus .woocommerce-info,.qs-v24d-focus .woocommerce-error{margin:0 0 14px!important;padding:12px 14px 12px 44px!important;font-size:15px;line-height:1.4}
.qs-v24d-focus .woocommerce-message .button,.qs-v24d-focus .woocommerce-info .button{display:none!important}

/* Kleine linkjes met een tapvlak van 44px */
.qs-site .qs-v24d-act{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0;padding:0 2px;color:var(--qs-purple);font-weight:700;font-size:14px;text-decoration:none;background:none;border:0;font-family:inherit;cursor:pointer}
.qs-site .qs-v24d-act:hover{text-decoration:underline}

/* Roze hoofdknop */
.qs-site .qs-v24d-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:14px 18px;border-radius:10px;background:var(--qs-pink);color:#fff;font-weight:700;font-size:17px;text-decoration:none;box-shadow:0 8px 20px rgba(230,1,135,.28);text-align:center}
.qs-site .qs-v24d-btn:hover{background:var(--qs-pink-d);color:#fff}

/* ---------- Winkelwagen ---------- */
.qs-v24d-cart .qs-v24d-lines{list-style:none;margin:0;padding:0;border:1px solid var(--qs-grey);border-radius:12px;background:#fff}
.qs-v24d-line{padding:12px 14px;border-top:1px solid var(--qs-grey)}
.qs-v24d-line:first-child{border-top:0}
.qs-v24d-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:start}
.qs-v24d-img{display:block;width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--qs-light)}
.qs-site .qs-v24d-img img{display:block;width:56px;height:56px;object-fit:cover}
.qs-v24d-info{min-width:0;display:flex;flex-direction:column}
.qs-v24d-name{font-size:15px;line-height:1.3;color:var(--qs-navy);overflow-wrap:anywhere}
.qs-v24d-variant,.qs-v24d-extra{font-size:13px;color:var(--qs-muted);line-height:1.35}
.qs-v24d-extra{overflow-wrap:anywhere}
.qs-v24d-acts{display:flex;align-items:center;gap:6px;margin-top:2px}
.qs-v24d-dot{color:var(--qs-purple);font-weight:700}
.qs-v24d-price{font-weight:700;font-size:15px;white-space:nowrap;color:var(--qs-navy)}
.qs-v24d-sizes{margin:10px 0 2px 68px;display:grid;gap:6px}
.qs-v24d-sizes[hidden]{display:none}
.qs-v24d-sizes-label{font-size:13px;color:var(--qs-muted)}
.qs-site .qs-v24d-size{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:2px solid var(--qs-grey);border-radius:8px;color:var(--qs-navy);font-size:14px;text-decoration:none;background:#fff}
.qs-site a.qs-v24d-size:hover{border-color:var(--qs-purple)}
.qs-v24d-size.is-current{border-color:var(--qs-purple);background:#f6f0ff;font-weight:700}

.qs-v24d-upsell{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:10px;padding:10px 12px;border:2px dashed #f3a6d2;border-radius:12px;background:#fff5fb}
.qs-v24d-upsell-text{display:flex;flex-direction:column;min-width:0}
.qs-v24d-upsell-text strong{font-size:15px;line-height:1.3;color:var(--qs-navy)}
.qs-v24d-upsell-text span{font-size:13px;color:var(--qs-muted);line-height:1.35}
.qs-site .qs-v24d-upsell-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:76px;padding:0 12px;border-radius:10px;background:var(--qs-pink);color:#fff;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap}
.qs-site .qs-v24d-upsell-btn:hover{background:var(--qs-pink-d);color:#fff}

.qs-v24d-totals{margin:12px 0 10px;padding:0 2px}
.qs-v24d-trow{display:flex;justify-content:space-between;gap:12px;align-items:center}
.qs-v24d-fee{font-size:14px;color:var(--qs-muted)}
.qs-v24d-fee span:last-child{color:#0f7a3a;font-weight:700;white-space:nowrap}
.qs-v24d-total{font-weight:700;font-size:19px;color:var(--qs-navy);padding-top:4px}
.qs-v24d-reassure{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 0!important;font-size:14px;color:var(--qs-muted);text-align:center}
.qs-v24d-reassure svg{color:#1e9e4a;flex:none}
.qs-v24d-coupon{text-align:center;margin-top:4px}
.qs-site .qs-v24d-coupon-toggle{min-height:44px;padding:0 8px;background:none;border:0;color:var(--qs-purple);font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.qs-v24d-coupon-form{display:flex;gap:8px;max-width:360px;margin:4px auto 0}
.qs-v24d-coupon-form[hidden]{display:none}
.qs-site .qs-v24d-coupon-form input{flex:1;min-width:0;min-height:44px;font-size:16px;border:2px solid #ddd3ef;border-radius:8px;padding:8px 12px;font-family:inherit}
.qs-site .qs-v24d-coupon-apply{min-height:44px;padding:0 16px;border:0;border-radius:8px;background:var(--qs-purple);color:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.qs-v24d-empty{text-align:center;padding:24px 0}
.qs-v24d-empty .qs-v24d-btn{max-width:320px;margin:12px auto 0}

/* ---------- Afrekenen ---------- */
.qs-v24d-is-checkout .qs-woo-section,.qs-v24d-focus.qs-v24d-is-checkout{padding-top:14px!important}
.qs-v24d-is-checkout form.checkout{display:block}
.qs-v24d-is-checkout #customer_details.col2-set{width:100%;float:none;display:block;margin:0}
.qs-v24d-is-checkout #customer_details .col-1,.qs-v24d-is-checkout #customer_details .col-2{width:100%;float:none;padding:0;margin:0}
.qs-v24d-is-checkout #customer_details .col-2:empty,.qs-v24d-is-checkout .woocommerce-additional-fields:empty{display:none}
.qs-v24d-is-checkout .woocommerce-billing-fields>h3,.qs-v24d-is-checkout #order_review_heading,.qs-v24d-is-checkout .woocommerce-checkout-review-order-table,.qs-v24d-is-checkout .woocommerce-privacy-policy-text,.qs-v24d-is-checkout .qs-legal-checkout,.qs-v24d-is-checkout .woocommerce-form-coupon-toggle,.qs-v24d-is-checkout .woocommerce-additional-fields>h3{display:none!important}
.qs-site .qs-v24d-is-checkout .qs-woo .woocommerce-checkout-review-order{background:none;padding:0;border-radius:0;width:100%;float:none}
.qs-v24d-is-checkout .woocommerce-billing-fields__field-wrapper{display:flex;flex-wrap:wrap;gap:0 10px}
.qs-v24d-is-checkout .woocommerce-billing-fields__field-wrapper .form-row{width:100%;float:none;margin:0 0 10px;padding:0}
.qs-v24d-is-checkout .woocommerce-billing-fields__field-wrapper .form-row-first{width:calc(42% - 5px)}
.qs-v24d-is-checkout .woocommerce-billing-fields__field-wrapper .form-row-last{width:calc(58% - 5px)}
.qs-v24d-is-checkout input.input-text::placeholder{font-size:15px;color:#8a8796}
.qs-v24d-is-checkout .form-row label{font-size:14px;font-weight:700;color:var(--qs-navy);line-height:1.3;margin:0 0 4px;display:block}
.qs-v24d-hint{font-weight:400;color:var(--qs-muted);margin-left:4px}
.qs-v24d-is-checkout .form-row .optional{font-weight:400;color:var(--qs-muted)}
.qs-site .qs-v24d-is-checkout input.input-text,.qs-site .qs-v24d-is-checkout select{width:100%;min-height:48px;font-size:16px!important;padding:10px 12px;border:2px solid #ddd3ef;border-radius:8px;background:#fff;font-family:inherit}
.qs-site .qs-v24d-is-checkout input.input-text:focus{outline:none;border-color:var(--qs-purple);box-shadow:0 0 0 3px rgba(84,0,181,.12)}
.qs-v24d-is-checkout .woocommerce-invalid input.input-text{border-color:#d1293d}
.qs-v24d-js .qs-v24d-is-checkout .qs-v24d-biz:not(.is-open){display:none!important}
.qs-site .qs-v24d-biz-toggle{display:block;width:100%;min-height:44px;margin:-2px 0 6px;padding:6px 0;text-align:left;background:none;border:0;color:var(--qs-purple);font:inherit;font-weight:700;font-size:14px;line-height:1.35;cursor:pointer}
.qs-v24d-biz-toggle span{font-weight:400}
.qs-v24d-biz-toggle[hidden]{display:none}

/* Bestelling dichtgeklapt */
.qs-v24d-summary{margin:0 0 14px;border:2px solid var(--qs-grey);border-radius:12px;background:#fff}
.qs-site .qs-v24d-sum-toggle{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:50px;padding:10px 14px;background:none;border:0;font:inherit;font-weight:700;font-size:15px;color:var(--qs-navy);cursor:pointer;text-align:left}
.qs-v24d-sum-total{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.qs-v24d-sum-total svg{transition:transform .2s}
.qs-v24d-summary.is-open .qs-v24d-sum-total svg{transform:rotate(180deg)}
.qs-v24d-sum-list{padding:0 14px 12px;border-top:1px solid var(--qs-grey)}
.qs-v24d-sum-list[hidden]{display:none}
.qs-v24d-sum-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px solid var(--qs-light)}
.qs-v24d-sum-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.qs-v24d-sum-row>span:last-child{white-space:nowrap;font-weight:700}
.qs-v24d-sum-row strong{display:block;font-size:14px}
.qs-v24d-sum-row small{display:block;color:var(--qs-muted);font-size:13px}
.qs-v24d-sum-row.qs-v24d-fee>span:last-child{color:#0f7a3a}
.qs-v24d-sum-totalrow{font-weight:700;font-size:15px;border-bottom:0}
.qs-v24d-sum-totalrow small{display:inline;font-weight:400}
.qs-v24d-sum-edit{font-size:13px}

/* Betaalmethoden */
.qs-v24d-payhead{font-weight:700;font-size:14px;color:var(--qs-navy);margin:6px 0 6px!important}
.qs-site .qs-v24d-is-checkout .qs-woo #payment{background:none!important;border-radius:0;padding:0}
.qs-v24d-is-checkout #payment ul.payment_methods{list-style:none;margin:0 0 6px!important;padding:0!important;border:0!important}
.qs-v24d-is-checkout #payment ul.payment_methods li{position:relative;margin:0 0 5px;padding:0;border:2px solid var(--qs-grey);border-radius:10px;background:#fff;line-height:1.3}
.qs-v24d-is-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--qs-purple);background:#faf7ff}
.qs-v24d-is-checkout #payment ul.payment_methods li>input.input-radio{position:absolute;left:14px;top:13px;margin:0;width:18px;height:18px;accent-color:var(--qs-purple)}
.qs-v24d-is-checkout #payment ul.payment_methods li>label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:6px 12px 6px 44px;font-weight:700;font-size:15px;color:var(--qs-navy);cursor:pointer}
.qs-v24d-is-checkout #payment ul.payment_methods li>label img{max-height:24px;width:auto;margin-left:auto;float:none}
.qs-v24d-is-checkout #payment .payment_box{margin:0 10px 10px!important;padding:8px 10px!important;font-size:14px;background:var(--qs-light)!important;border-radius:8px}
.qs-v24d-is-checkout #payment .payment_box::before{display:none!important}
.qs-v24d-is-checkout #payment .payment_box p:last-child{margin:0}
.qs-v24d-is-checkout #payment .place-order{padding:0!important;margin:0!important}
.qs-v24d-is-checkout #payment .woocommerce-terms-and-conditions-wrapper:empty{display:none}
.qs-v24d-is-checkout #payment ul.payment_methods li.qs-v24d-hidden{display:none}
.qs-v24d-is-checkout #payment ul.payment_methods li.qs-v24d-more{border:0;background:none;margin:-4px 0 0;padding:0 2px}
.qs-v24d-is-checkout #payment ul.payment_methods li.qs-v24d-more .qs-v24d-act{margin:0}

/* Vinkjes boven de knop */
.qs-v24d-consent{margin:4px 0 8px}
.qs-v24d-is-checkout .qs-v24d-check{margin:0!important;padding:0!important;float:none!important;width:100%}
.qs-v24d-is-checkout .qs-v24d-check label{display:flex!important;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;margin:0!important;font-weight:400!important;font-size:14px!important;line-height:1.4!important;color:var(--qs-text)!important;cursor:pointer}
.qs-v24d-check input[type=checkbox]{flex:none;width:20px;height:20px;margin:0!important;accent-color:var(--qs-purple)}
.qs-v24d-waiver.is-error label span{color:#b3261e}
.qs-v24d-waiver.is-error input[type=checkbox]{outline:2px solid #d1293d;outline-offset:2px}
.qs-v24d-waiver-err{display:block;margin:-4px 0 4px 30px;font-size:13px;color:#b3261e;font-weight:700}
.qs-v24d-waiver-err[hidden]{display:none}

/* Knop */
.qs-site .qs-v24d-is-checkout #payment #place_order{display:block;width:100%;float:none;min-height:56px;margin:0;padding:14px 16px!important;border-radius:10px!important;font-size:17px!important;line-height:1.25;box-shadow:0 8px 20px rgba(230,1,135,.28)}
.qs-v24d-under{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;font-size:14px}
.qs-v24d-legal{display:inline-flex;align-items:center;gap:6px;color:var(--qs-muted)}
.qs-site .qs-v24d-legal .qs-v24d-act{color:var(--qs-muted);font-weight:400}

/* Kortingscodeformulier (onder de bestelling) */
.qs-v24d-is-checkout form.checkout_coupon{margin:10px 0 0!important;padding:12px!important;border:2px solid var(--qs-grey)!important;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qs-v24d-is-checkout form.checkout_coupon[style*="display: none"]{display:none!important}
.qs-v24d-is-checkout form.checkout_coupon>p:first-child{width:100%;margin:0;font-size:14px}
.qs-v24d-is-checkout form.checkout_coupon .form-row{width:auto!important;float:none!important;margin:0!important;padding:0!important}
.qs-v24d-is-checkout form.checkout_coupon .form-row-first{flex:1;min-width:0}
.qs-v24d-is-checkout form.checkout_coupon .clear{display:none}
.qs-v24d-is-checkout form.checkout_coupon button{min-height:48px}

/* ---------- Mini-footer ---------- */
.qs-v24d-minifooter{background:var(--qs-navy);color:rgba(255,255,255,.75);padding:2px 12px calc(2px + env(safe-area-inset-bottom));font-size:12px;line-height:1.3}
.qs-v24d-minifooter p{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 5px;margin:0;max-width:600px;margin:0 auto;text-align:center}
.qs-v24d-mf-co,.qs-v24d-mf-links{display:inline-flex;align-items:center;gap:0 6px}
.qs-v24d-mf-co{min-height:44px}
@media (max-width:599px){.qs-v24d-minifooter p{flex-direction:column}.qs-v24d-mf-sep{display:none}.qs-v24d-mf-co{min-height:0;padding-top:10px}}
.qs-site .qs-v24d-minifooter a{display:inline-flex;align-items:center;min-height:44px;color:rgba(255,255,255,.85);text-decoration:none}
.qs-site .qs-v24d-minifooter a:hover{color:#fff;text-decoration:underline}

@media (min-width:900px){
  .qs-v24d-focus.qs-woo-section{padding:32px 0 56px!important}
  .qs-v24d-focus .qs-woo-title{font-size:30px!important}
}

/* Korte pagina: mini-footer onderaan het scherm */
.qs-main:has(.qs-v24d-focus){min-height:calc(100vh - 140px)}
