/* =========================================================
   DSV Headless — homepage sections + WooCommerce styling
   ========================================================= */

/* ---------- Section heads ---------- */
.dsv-sec-head{margin-bottom:30px}
.dsv-sec-head h2{margin:.15em 0 0}
.dsv-sec-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.dsv-sec-link{font-weight:600;font-size:14px;color:var(--c-primary);white-space:nowrap}
.dsv-sec-link:hover{text-decoration:underline}

/* ---------- HERO ---------- */
.dsv-hero{position:relative;overflow:hidden;background:
   radial-gradient(120% 140% at 85% 0%, rgba(0,154,155,.16), transparent 55%),
   linear-gradient(180deg,#fff 0%, var(--c-offwhite) 100%)}
.dsv-hero__track{position:relative;min-height:440px}
.dsv-hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease}
.dsv-hero__slide.is-active{position:relative;opacity:1;visibility:visible}
.dsv-hero__slide--img{background-size:cover;background-position:center;background-image:var(--hero-img)}
.dsv-hero__slide--img::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 36%,rgba(255,255,255,.2) 68%,rgba(255,255,255,0) 100%)}
.dsv-hero__slide>.wrap{position:relative;z-index:1}
.dsv-hero__inner{display:grid;grid-template-columns:1.4fr auto;align-items:center;gap:40px;
  padding-block:64px 72px;min-height:440px;box-sizing:border-box}
.dsv-hero__copy h1{margin:.2em 0 .35em}
.dsv-hero__copy .lead{max-width:46ch;color:#3a3a38;margin-bottom:26px}
.dsv-hero__cta{display:flex;flex-wrap:wrap;gap:14px}
.dsv-hero__badge{width:160px;height:160px;border-radius:50%;background:var(--c-sale);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;rotate:-8deg;
  box-shadow:var(--shadow-lg);text-align:center}
.dsv-hero__badge-pct{font-family:var(--f-head);font-weight:700;font-size:46px;line-height:1}
.dsv-hero__badge-txt{font-family:var(--f-head);font-size:20px;line-height:1.05;margin-top:4px}
.dsv-hero__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.9);
  color:var(--c-ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:var(--shadow);
  display:flex;align-items:center;justify-content:center;transition:background var(--t),color var(--t)}
.dsv-hero__arrow:hover{background:#fff;color:var(--c-primary)}
.dsv-hero__arrow--prev{left:18px}
.dsv-hero__arrow--next{right:18px}
.dsv-hero__dots{position:absolute;left:0;right:0;bottom:18px;z-index:3;
  display:flex;justify-content:center;gap:10px}
.dsv-hero__dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(27,28,28,.25);transition:background var(--t),transform var(--t)}
.dsv-hero__dot.is-active{background:var(--c-primary);transform:scale(1.25)}
@media(max-width:900px){
  .dsv-hero__track{min-height:0}
  .dsv-hero__inner{grid-template-columns:1fr;padding-block:44px 60px;min-height:0}
  .dsv-hero__badge{display:none}
  .dsv-hero__slide--img::before{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.82) 60%,rgba(255,255,255,.7) 100%)}
  .dsv-hero__arrow{width:38px;height:38px;font-size:22px}
  .dsv-hero__arrow--prev{left:8px}.dsv-hero__arrow--next{right:8px}
}

/* ---------- HERO — afbeeldingen-slider variant (tijdelijk, full-width, geen tekst/overlay) ---------- */
.dsv-hero--img{background:none}
.dsv-hero--img .dsv-hero__track{min-height:0}
.dsv-hero--img .dsv-hero__slide{padding:0}
.dsv-hero--img .dsv-hero__photolink{display:block;line-height:0}
.dsv-hero--img .dsv-hero__photo{display:block;width:100%;height:auto}

/* ---------- USP bar ---------- */
.dsv-usps{border-block:1px solid var(--c-line);background:#fff}
.dsv-usps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:20px}
.dsv-usp{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.dsv-usp strong{font-size:15px}
.dsv-usp span{font-size:13px;color:var(--c-muted)}
@media(max-width:760px){.dsv-usps__grid{grid-template-columns:1fr 1fr}}

/* ---------- Category tiles ---------- */
.dsv-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dsv-cat{position:relative;display:flex;align-items:flex-end;justify-content:space-between;
  min-height:300px;padding:22px;border-radius:var(--radius);overflow:hidden;color:#fff;
  background:var(--cat,var(--c-primary));transition:transform var(--t),box-shadow var(--t)}
.dsv-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.22))}
.dsv-cat:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:#fff}
.dsv-cat__label{position:relative;z-index:1;font-family:var(--f-head);font-size:24px;font-weight:600}
.dsv-cat__arrow{position:relative;z-index:1;font-size:22px;transition:transform var(--t)}
.dsv-cat:hover .dsv-cat__arrow{transform:translateX(5px)}
@media(max-width:760px){.dsv-cats{grid-template-columns:1fr 1fr;gap:12px}
  .dsv-cat{min-height:104px;padding:16px}.dsv-cat__label{font-size:19px}}

/* ---------- Sale band ---------- */
.dsv-saleband{background:linear-gradient(100deg,var(--c-sale),#ff8f6e)}
.dsv-saleband__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-block:40px;color:#fff}
.dsv-saleband h2{color:#fff;margin:0}
.dsv-saleband__btn{border-color:#fff;color:#fff}
.dsv-saleband__btn:hover{background:#fff;color:var(--c-sale)}
@media(max-width:700px){.dsv-saleband__inner{flex-direction:column;text-align:center}}

/* ---------- Brands ---------- */
.dsv-brands__lead{text-align:center;color:var(--c-muted);font-size:13px;text-transform:uppercase;
  letter-spacing:1px;margin-bottom:16px}
.dsv-brands{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.dsv-brand-chip{background:#fff;border:1px solid var(--c-line);border-radius:999px;
  padding:9px 20px;font-family:var(--f-head);font-size:17px;color:#55504a}

/* ---------- Story ---------- */
.dsv-story{text-align:center;max-width:680px}
.dsv-story .lead{color:#3a3a38;margin-bottom:24px}

/* ---------- Page hero / breadcrumbs / prose ---------- */
.dsv-pagehero{background:var(--c-offwhite);border-bottom:1px solid var(--c-line);padding-block:34px}
.dsv-pagehero h1{margin:0}
.dsv-crumbs{font-size:13px;color:var(--c-muted);margin-bottom:8px}
.dsv-crumbs a{color:var(--c-muted)}.dsv-crumbs a:hover{color:var(--c-primary)}
.dsv-crumbs .sep{margin:0 7px}
.dsv-prose{max-width:760px}
.dsv-prose h2{margin-top:1.4em}
.dsv-prose ul,.dsv-prose ol{margin:0 0 1em;padding-left:1.3em;list-style:revert}
.dsv-prose a{color:var(--c-primary);text-decoration:underline}

/* =========================================================
   WOOCOMMERCE — global
   ========================================================= */
.wrap.dsv-shop{padding-block:40px 56px}
.woocommerce .wrap{padding-block:0}
.woocommerce-breadcrumb,.dsv-shop>.woocommerce-breadcrumb{font-size:13px;color:var(--c-muted);margin-bottom:18px}
.woocommerce-breadcrumb a{color:var(--c-muted)}
.woocommerce-breadcrumb a:hover{color:var(--c-primary)}

/* archive title + ordering row */
.dsv-shop__main>.page-title,.woocommerce-products-header__title{
  font-family:var(--f-head);font-weight:500;font-size:34px;margin:0 0 14px}
.woocommerce .woocommerce-result-count{color:var(--c-muted);font-size:14px;margin:0 0 4px;float:left}
.woocommerce .woocommerce-ordering{margin:0 0 14px;float:right}
.woocommerce .products{clear:both}

/* Woo buttons → brand button */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--f-body);font-weight:600;font-size:14px;letter-spacing:.6px;text-transform:uppercase;
  line-height:1;padding:13px 24px;border-radius:999px;background:var(--c-primary);color:#fff;
  border:0;transition:transform var(--t),background var(--t),box-shadow var(--t)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce .button:hover{
  background:var(--c-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}
.woocommerce .button.alt,.woocommerce #place_order{background:var(--c-ink)}
.woocommerce .button.alt:hover,.woocommerce #place_order:hover{background:#000}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  border-top:3px solid var(--c-primary);background:var(--c-offwhite);border-radius:var(--radius-sm);
  padding:16px 18px;margin-bottom:22px;list-style:none}
.woocommerce-error{border-top-color:var(--c-sale)}
.woocommerce-message .button,.woocommerce-info .button{padding:8px 16px;font-size:12px}

/* Result count + ordering select */
.woocommerce .woocommerce-ordering select,.dsv-wooflow select,.woocommerce select{
  border:1px solid var(--c-line);border-radius:999px;padding:9px 16px;background:#fff}

/* =========================================================
   WOOCOMMERCE — product grid
   ========================================================= */
.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid !important;grid-template-columns:repeat(4,1fr);gap:26px;margin:18px 0 0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important}
.woocommerce ul.products li.product{width:auto !important;margin:0 !important;float:none !important;
  text-align:left;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);
  padding:12px;transition:transform var(--t),box-shadow var(--t);position:relative;
  display:flex;flex-direction:column}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius-sm);margin-bottom:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--f-body);font-weight:600;font-size:14px;line-height:1.4;padding:0 4px;margin:0 0 6px;
  color:var(--c-ink);text-transform:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.woocommerce ul.products li.product .price{display:block;padding:0 4px;color:var(--c-ink);
  font-weight:700;font-size:16px;font-family:var(--f-body);margin-top:auto}
.woocommerce ul.products li.product .price del{color:var(--c-muted);font-weight:400;font-size:14px;margin-right:6px}
.woocommerce ul.products li.product .price ins{color:var(--c-sale);text-decoration:none}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{margin-top:10px;width:100%;font-size:12.5px;padding:11px 14px}
.woocommerce span.onsale{position:absolute;top:18px;left:18px;z-index:2;margin:0;min-height:0;min-width:0;
  background:var(--c-sale);color:#fff;border-radius:999px;padding:5px 12px;font-family:var(--f-body);
  font-weight:700;font-size:12px;line-height:1}
@media(max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:14px}}

/* pagination */
.woocommerce nav.woocommerce-pagination{margin-top:36px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;flex:0 0 auto}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  box-sizing:border-box;flex:0 0 auto;border:1px solid var(--c-line);border-radius:50%;width:42px;height:42px;display:flex;align-items:center;
  justify-content:center;padding:0;background:#fff;line-height:1}
@media(max-width:640px){
  .woocommerce nav.woocommerce-pagination ul{gap:6px}
  .woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{width:38px;height:38px;font-size:14px}
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

/* =========================================================
   WOOCOMMERCE — single product
   ========================================================= */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:8px}
.woocommerce div.product .woocommerce-product-gallery{width:100%!important;margin:0;float:none;position:relative}
.woocommerce div.product .woocommerce-product-gallery{max-width:100%;overflow:hidden}
.woocommerce div.product .woocommerce-product-gallery__wrapper{max-width:100%}
.woocommerce div.product .woocommerce-product-gallery__image{max-width:100%}
.woocommerce div.product .woocommerce-product-gallery__image img{width:100%!important;height:auto;display:block;border-radius:var(--radius)}
.woocommerce div.product .summary{width:100%!important;margin:0;float:none}
.woocommerce div.product .product_title{font-size:32px;margin-bottom:10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:26px;font-weight:700;color:var(--c-ink)}
.woocommerce div.product p.price del{color:var(--c-muted);font-weight:400;font-size:20px}
.woocommerce div.product p.price ins{color:var(--c-sale);text-decoration:none}
.woocommerce div.product form.cart{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.woocommerce .quantity .qty{width:74px;border:1px solid var(--c-line);border-radius:999px;padding:12px;text-align:center}
.woocommerce div.product form.cart .button{padding:15px 32px}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:20px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;display:flex;gap:8px;border-bottom:1px solid var(--c-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:none;border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 16px;font-family:var(--f-head);
  font-size:17px;color:var(--c-muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--c-ink);box-shadow:inset 0 -2px 0 var(--c-primary)}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{grid-column:1/-1;margin-top:24px}
.woocommerce div.product .related.products h2,.woocommerce .upsells h2{font-size:26px;margin-bottom:6px}
@media(max-width:900px){.woocommerce div.product{grid-template-columns:1fr;gap:26px}}

/* product gallery — DSV lichte gallery (geen flexslider/zoom/photoswipe) */
.dsv-gallery{position:relative;width:100%;max-width:100%}
.dsv-gallery__stage{position:relative;border-radius:var(--radius);overflow:hidden;background:#fff}
.dsv-gallery__main{margin:0;line-height:0}
.dsv-gallery__img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.dsv-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;
  border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--c-ink);font-size:24px;line-height:1;
  cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;
  transition:background var(--t),color var(--t)}
.dsv-gallery__nav:hover{background:#fff;color:var(--c-primary)}
.dsv-gallery__nav--prev{left:12px}
.dsv-gallery__nav--next{right:12px}
.dsv-gallery__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0 0;padding:0;list-style:none}
.dsv-gallery__thumb{margin:0;list-style:none}
.dsv-gallery__thumb-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;
  border-radius:var(--radius-sm);overflow:hidden;line-height:0}
.dsv-gallery__thumb-btn img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius-sm);opacity:.55;transition:opacity var(--t)}
.dsv-gallery__thumb-btn:hover img,.dsv-gallery__thumb.is-active .dsv-gallery__thumb-btn img{opacity:1}
.dsv-gallery__thumb.is-active .dsv-gallery__thumb-btn{box-shadow:0 0 0 2px var(--c-primary)}
@media(max-width:760px){.dsv-gallery__thumbs{grid-template-columns:repeat(4,1fr)}}

/* =========================================================
   WOOCOMMERCE — cart
   ========================================================= */
.dsv-wooflow{max-width:1100px}
.woocommerce table.shop_table{border:1px solid var(--c-line);border-radius:var(--radius);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{font-family:var(--f-head);font-weight:500;background:var(--c-offwhite)}
.woocommerce table.cart img{width:72px;border-radius:var(--radius-sm)}
.woocommerce .cart_totals{margin-top:24px}
.woocommerce .cart_totals h2{font-size:24px}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{width:100%;padding:16px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{width:100%;float:none}
.woocommerce a.remove{color:var(--c-sale)!important;border:1px solid var(--c-line);line-height:1.6}
.woocommerce a.remove:hover{background:var(--c-sale);color:#fff!important}

/* =========================================================
   WOOCOMMERCE — checkout
   ========================================================= */
.woocommerce form .form-row{padding:0 0 14px}
.woocommerce form .form-row label{font-weight:600;font-size:14px;margin-bottom:6px;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single{
  border:1px solid var(--c-line);border-radius:var(--radius-sm);padding:12px 14px;min-height:46px;background:#fff}
.woocommerce-checkout #payment{background:var(--c-offwhite);border-radius:var(--radius)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--c-line)}
#order_review_heading,.woocommerce-checkout h3{font-size:22px}
/* col2-set: NOOIT als 2-koloms grid. Billing/shipping stapelen verticaal;
   de 2-koloms checkout regelen we op form.checkout-niveau (zie onder). */
.woocommerce .col2-set,.woocommerce-page .col2-set{display:block}
.woocommerce .col2-set::before,.woocommerce .col2-set::after,
.woocommerce-page .col2-set::before,.woocommerce-page .col2-set::after{content:none;display:none}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{width:auto;float:none;max-width:none;padding:0;margin:0}

/* =========================================================
   WOOCOMMERCE — my account
   ========================================================= */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:40px}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{border:1px solid var(--c-line);border-radius:var(--radius);overflow:hidden}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--c-line)}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;font-weight:600;font-size:14px}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{
  background:var(--c-offwhite);color:var(--c-primary)}
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:1fr;max-width:480px;margin-inline:auto}
@media(max-width:760px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}

/* generic post/page content fallback width */
.dsv-site__main{min-height:40vh}

/* =========================================================
   DSV — layout fixes v0.8 (footer / cart / checkout / account)
   ========================================================= */

/* Footer: meer lucht boven + scheiding van content */
.dsv-footer{margin-top:80px;border-top:1px solid var(--c-line)}
.wrap.dsv-footer__grid{padding-block:72px 56px}

/* Woo-flow pagina's breder + gecentreerd */
.dsv-wooflow{max-width:1200px;margin-inline:auto}

/* ---------- CART → 2 kolommen (desktop) ---------- */
@media(min-width:901px){
  .woocommerce-cart .woocommerce{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
  .woocommerce-cart .woocommerce form.woocommerce-cart-form{flex:1 1 0;min-width:0;margin:0}
  .woocommerce-cart .woocommerce .cart-collaterals{flex:0 0 360px;width:360px;max-width:360px;float:none;margin:0}
  .woocommerce-cart .woocommerce > *:not(form.woocommerce-cart-form):not(.cart-collaterals){flex:0 0 100%;width:100%}
}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
.woocommerce-cart .cart_totals h2{margin-top:0}
.woocommerce-cart .wc-proceed-to-checkout{padding:0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;padding:16px}

/* Proceed / place order → merkkleur (teal) i.p.v. Woo-paars */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce-cart a.checkout-button.alt,
.woocommerce-checkout #place_order.alt{background:var(--c-primary);color:#fff}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover{background:var(--c-primary-dark);color:#fff}

/* ---------- CHECKOUT → 2 kolommen (desktop) ---------- */
@media(min-width:901px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:44px;align-items:start}
  .woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1 / span 2}
  .woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 12px}
  .woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:90px}
  .woocommerce-checkout #customer_details .col2-set{display:block}
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2{width:auto;float:none;max-width:none}
}
.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:22px}
.woocommerce-checkout #order_review .shop_table{border:0}

/* ---------- MY ACCOUNT robustness ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li{list-style:none;margin:0}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0}

/* =========================================================
   DSV — fixes v0.9 (header / account / cart-knop / checkout)
   ========================================================= */

/* ---------- #4 HEADER: expliciete grid-kolommen ----------
   burger = display:none op desktop -> grid auto-placement zou logo naar
   kolom 1 (links) en icons naar kolom 2 (midden) schuiven. Forceer
   logo = kolom 2 (midden), actions = kolom 3 (rechts). */
.dsv-header__inner > .dsv-logo{grid-column:2}
.dsv-header__inner > .dsv-header__actions{grid-column:3;justify-self:end}
@media(max-width:1024px){ .dsv-header__inner > .dsv-burger{grid-column:1;justify-self:start} }

/* ---------- #5 MIJN ACCOUNT -> 2 koloms (robuust, ook met notices) ---------- */
@media(min-width:761px){
  .woocommerce-account.logged-in .woocommerce{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
  .woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper{flex:0 0 100%;width:100%}
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation{flex:0 0 240px;width:240px;float:none;margin:0}
  .woocommerce-account.logged-in .woocommerce-MyAccount-content{flex:1 1 0;min-width:0;float:none;width:auto;margin:0}
}

/* ---------- #6 CART proceed-knop: normale tekstgrootte ---------- */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  font-size:14px;line-height:1.2;letter-spacing:.6px;text-transform:uppercase;font-weight:600;
  display:flex;align-items:center;justify-content:center}


/* =========================================================
   DSV — Contact / Over ons (v0.9)
   ========================================================= */
.dsv-card{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:26px}
.dsv-contact{display:grid;grid-template-columns:1.3fr .85fr;gap:48px;align-items:start}
.dsv-contact__form{margin-top:30px}
.dsv-contact__form h2{font-size:26px;margin-bottom:16px}
.dsv-contact__list{margin:0 0 22px}
.dsv-contact__list li{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--c-line)}
.dsv-contact__list li:last-child{border-bottom:0}
.dsv-contact__list span:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--c-muted)}
.dsv-contact__side h3{font-size:18px;margin:18px 0 10px}
.dsv-contact__side h3:first-child{margin-top:0}
@media(max-width:860px){.dsv-contact{grid-template-columns:1fr;gap:30px}}

/* contactformulier */
.sv-cf{display:flex;flex-direction:column;gap:16px;max-width:560px}
.sv-cf__row{display:flex;flex-direction:column;gap:6px;margin:0}
.sv-cf__row label{font-weight:600;font-size:14px}
.sv-cf__row label span{color:var(--c-sale)}
.sv-cf input[type=text],.sv-cf input[type=email],.sv-cf textarea{border:1px solid var(--c-line);border-radius:var(--radius-sm);padding:13px 15px;background:#fff;font-size:15px;width:100%;font-family:var(--f-body)}
.sv-cf input:focus,.sv-cf textarea:focus{outline:none;border-color:var(--c-primary)}
.sv-cf__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sv-cf .btn{align-self:flex-start;border:0}
.sv-cf__ok{background:#e8f5ea;border-left:3px solid var(--c-green);padding:16px 18px;border-radius:var(--radius-sm);font-weight:600}
.sv-cf__err{background:#fdecec;border-left:3px solid var(--c-sale);padding:14px 16px;border-radius:var(--radius-sm);margin-bottom:16px}

/* over ons */
.dsv-about{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:start}
.dsv-about__media img{width:100%;border-radius:var(--radius);object-fit:cover}
@media(max-width:860px){.dsv-about{grid-template-columns:1fr;gap:28px}.dsv-about__media{order:-1}}

/* --- Variatie-swatches (Maat e.d.) -------------------------------------- */
.variations_form .dsv-swatches{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.variations_form td.value > select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.variations_form td.value{position:relative}
.dsv-swatch{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:42px;padding:0 14px;
  border:1.5px solid #d8d2c8;border-radius:8px;background:#fff;color:var(--c-ink,#1B1C1C);
  font-family:var(--f-head,'Akshar',sans-serif);font-size:15px;font-weight:500;line-height:1;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.dsv-swatch:hover{border-color:var(--c-primary,#009A9B)}
.dsv-swatch.is-active{border-color:var(--c-primary,#009A9B);background:var(--c-primary,#009A9B);color:#fff;
  box-shadow:0 2px 8px rgba(0,154,155,.28)}
.dsv-swatch.is-disabled,.dsv-swatch:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through;
  border-color:#e4ded4;background:#f6f3ee}
.dsv-swatch.is-disabled:hover{border-color:#e4ded4}

/* ---------- PDP add-to-cart knop → groen #2ca333 ---------- */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.single_add_to_cart_button.alt{background:#2ca333;color:#fff}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button.alt:hover{background:#24862a;color:#fff}

/* --- Favorieten (WebToffee wishlist) — cards + single product --- */
.icon_after_add_to_cart{margin-top:10px;text-align:center}
.single_product_div{margin-top:8px}
:is(.icon_after_add_to_cart,.single_product_div) a{display:inline-flex !important;align-items:center;gap:7px;color:var(--c-ink);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:500;line-height:1;text-decoration:none;transition:color .15s}
.icon_after_add_to_cart a{justify-content:center}
:is(.icon_after_add_to_cart,.single_product_div) a:hover{color:var(--c-primary)}
:is(.icon_after_add_to_cart,.single_product_div) .wishlist_text_icon_image{width:16px !important;height:15px !important;min-width:0 !important;margin:0 !important;padding:0 !important;border:0 !important;background:none !important;flex:0 0 auto;display:inline-block !important;vertical-align:middle}
:is(.icon_after_add_to_cart,.single_product_div) br{display:none}
:is(.icon_after_add_to_cart,.single_product_div) .browse_wishlist{font-size:13px}

/* Categorie-tegels met achtergrondafbeelding */
.dsv-cat.dsv-cat--img{background-image:var(--cat-img);background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--cat,var(--c-primary))}
.dsv-cat.dsv-cat--img::after{background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.30) 55%,rgba(0,0,0,.60) 100%)}
.dsv-cat.dsv-cat--img .dsv-cat__label{text-shadow:0 1px 4px rgba(0,0,0,.45)}

/* === Merken-pagina (45236): logo-grid i.p.v. gestapelde full-width beelden === */
.page-id-45236 .dsv-prose{max-width:1080px}
.page-id-45236 .dsv-prose figure{display:inline-block;width:150px;margin:0 10px 22px;vertical-align:top;text-align:center}
.page-id-45236 .dsv-prose figure img{width:130px;height:130px;object-fit:contain;display:block;margin:0 auto;background:#fff;border-radius:12px}
.page-id-45236 .dsv-prose figure figcaption{margin-top:8px;font-size:13px;font-weight:600;color:var(--c-ink);line-height:1.3}
@media(max-width:600px){
  .page-id-45236 .dsv-prose figure{width:44%;margin:0 3% 18px}
  .page-id-45236 .dsv-prose figure img{width:100%;height:auto;aspect-ratio:1/1}
}
