/* Containers
-------------------------------------- */
body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received, .woocommerce-order-pay), body.woocommerce-checkout .woocommerce-notices-wrapper { --page-width: var(--container-width); }
body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received, .woocommerce-order-pay) .woocommerce, body.woocommerce-checkout .woocommerce-notices-wrapper { padding-inline: 2rem; width: 100%; max-width: var(--wpb-width); margin-inline: auto; } 

@media (min-width: 576px) {
    body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received), body.woocommerce-checkout .woocommerce-notices-wrapper { --wpb-width: var(--container-width--sm); }
}
@media (min-width: 768px) {
    body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received), body.woocommerce-checkout .woocommerce-notices-wrapper { --wpb-width: var(--container-width--md); }
}
@media (min-width: 992px) {
    body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received), body.woocommerce-checkout .woocommerce-notices-wrapper { --wpb-width: var(--container-width--lg); }
}
@media (min-width: 1200px) {
    body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received) { --wpb-width: var(--container-width--xl); }
    body.woocommerce-checkout .woocommerce-notices-wrapper { --wpb-width: 1030px; }
}
@media (min-width: 1400px) {
    body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received) { --wpb-width: var(--container-width--xxl); }
    body.woocommerce-checkout .woocommerce-notices-wrapper { --wpb-width: 1140px; }
}
@media (min-width: 1600px) {
    body.woocommerce-page:not(.woocommerce-account, .woocommerce-order-received) { --wpb-width: var(--container-width--xxxl); }
    body.woocommerce-cart .woocommerce { --wpb-width: var(--container-width--xxl); }
    body.woocommerce-checkout .woocommerce-notices-wrapper { --wpb-width: 1280px; }
}





/* Woocommerce forms
-------------------------------------- */



/* Woocommerce notices
-------------------------------------- */
.woocommerce-notices-wrapper > * + * { margin-top: 1em; }
.woocommerce-notices-wrapper > *:last-child { margin-bottom: 2em; }

.wc-block-components-notice-banner { --fs: 1.6rem; display: flex; align-items: center; column-gap: 2rem; background-color:var(--clr-success); border-radius: 2px; color:#fff; clear: both; padding: 1.6rem 2.4rem; position: relative; list-style: none outside; }
.wc-block-components-notice-banner svg { fill: #fff; }  
.wc-block-components-notice-banner ul { padding-left: 2rem; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content { color: inherit; flex-grow: 1; display: flex; flex-wrap: wrap; column-gap: .75rem; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content .button { all: unset; order: 1; text-decoration: underline; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content .button:hover { all: unset; }
.wc-block-components-notice-banner.is-error { background-color: var(--clr-danger); }
.wc-block-components-notice-banner.is-info { background-color: var(--clr-info); }

.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments { outline: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; background-color:var(--clr-success); border-radius: .5rem; color:#fff; clear: both; padding: 1em 2em 1em 3.5em!important; position: relative; list-style: none outside; }
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a,.woocommerce-noreviews a,p.no-comments a { color:#fff; }
.woocommerce-message a:hover,.woocommerce-info a:hover,.woocommerce-error a:hover,.woocommerce-noreviews a:hover,p.no-comments a:hover { color: #fff; opacity:.7; }
.woocommerce-message a.button:hover,.woocommerce-info a.button:hover,.woocommerce-error a.button:hover,.woocommerce-noreviews a.button:hover,p.no-comments a.button:hover { opacity: 1; border-left: 1px solid rgba(255,255,255,.25) !important; }
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button,.woocommerce-noreviews .button,p.no-comments .button { --p: 0!important; --bg-clr: transparent!important; --border: none!important; --hover-bg-clr: transparent; --br: 0!important; min-height: 0rem; padding-left: 1em!important; border-width: 0; border-left: 1px solid rgba(255,255,255,.25) !important; }
.woocommerce-message .button:hover,.woocommerce-info .button:hover,.woocommerce-error .button:hover,.woocommerce-noreviews .button:hover,p.no-comments .button:hover { background: none; color: #fff; opacity: .7; }
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before,.woocommerce-noreviews::before,p.no-comments::before { content: ''; --src: ; --clr: #fff; --width: 2rem; --height: 2rem;  display: inline-block; position: absolute; top: 50%; transform: translateY(-50%); left: 1.5em; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: var(--width); height: var(--height); background-color: var(--clr); transition: background-color var(--ts-15) ease; }
.woocommerce-message::before { --clr: #fff; --src: url('/app/themes/wuxnl-theme/assets/icons/fa/solid/circle-info.svg'); }
.woocommerce-noreviews::before { --clr: #fff; --src: url('/app/themes/wuxnl-theme/assets/icons/fa/solid/circle-info.svg'); }
.woocommerce-error::before { --clr: #fff; --src: url('/app/themes/wuxnl-theme/assets/icons/fa/solid/circle-info.svg'); }
.woocommerce-info::before { --clr: #fff; --src: url('/app/themes/wuxnl-theme/assets/icons/fa/solid/circle-info.svg'); }

.site-content>.col-full>.woocommerce>.woocommerce-message:first-child,.site-content>.col-full>.woocommerce>.woocommerce-info:first-child,.site-content>.col-full>.woocommerce>.woocommerce-error:first-child { margin-top: 2.617924em; }
.woocommerce-error { list-style: none; }
.woocommerce-info,.woocommerce-noreviews,p.no-comments { background-color: var(--clr-info); }
.woocommerce-info.woocommerce-no-products-found { background-color: rgba(0,0,0,0); border: none; color: inherit; padding: 1em 0; }
.woocommerce-error { background-color: var(--clr-danger); }
.woocommerce-error p, .woocommerce-error li { color: #fff; }

ul.woocommerce-error { display: grid; grid-template-columns: 1fr; list-style: inside; column-gap: 2rem; }



/* Algemeen
-------------------------------------- */
.screen-reader-text { clip: rect(1px,1px,1px,1px); word-wrap: normal!important; border: 0; -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute!important; width: 1px } 

.woocommerce .col2-set {  --gc: 1; --gap: 2rem; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); -webkit-column-gap: var(--gap); -moz-column-gap: var(--gap); column-gap: var(--gap); -webkit-row-gap: var(--gap); -moz-row-gap: var(--gap); row-gap: var(--gap) }
/* .woocommerce span.onsale, .woocommerce span.is-featured { font-size: 1.4rem; padding: 0.45rem 1rem; display: inline-block; line-height: 1.25; position: relative; top: 0; left: 0; border-radius: .35rem; min-height: 0; }
.woocommerce span.onsale { background-color: #f73e5c; color: #fff; }
.woocommerce span.is-featured { background-color: #77a464; color: #fff; } */

.password-input { position: relative; }
.wpb-backdrop.wpb-backdrop--woocommerce { z-index: 1040; }  

@media (min-width: 768px) {
    .woocommerce .col2-set, .woocommerce-page .col2-set { --gc: 2; }
}


/* Payment icons
-------------------------------------- */
.woocommerce-payment-icons { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin-top: 2rem; }
.woocommerce-payment-icons img { width: auto; height: 2.4rem; }






/* Breadcrumbs
-------------------------------------- */
.woocommerce-breadcrumb { font-size: 1.3rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--clr-text); max-width: 100%; opacity: .75; }
.woocommerce-breadcrumb * { font-size: 1.3rem; }
.woocommerce-breadcrumb a { color: var(--clr-text); text-decoration: none; }
.woocommerce-breadcrumb .delimiter { margin-inline: 1rem; }
.woocommerce-breadcrumb .wpb-icon { --clr: var(--clr-text); }
.woocommerce-breadcrumb .wpb-icon.wpb-icon--house { --w: 1.2rem; --h: 1rem; }
.woocommerce-breadcrumb .wpb-icon.wpb-icon--chevron-right { --w: .6rem; --h: 1rem; min-width: var(--w); }
.woocommerce-breadcrumb span:last-child { font-weight: 700; }

@media (min-width: 992px) {
    .woocommerce-breadcrumb,
    .woocommerce-breadcrumb * { font-size: 1.4rem; }
}




/* Woocommerce loop
-------------------------------------- */
body.woocommerce-page ul.products { --gc: 2; --gap: 5rem 1.5rem; list-style: none; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: var(--gap); scroll-margin-top: 25rem; }
body.woocommerce-page .products.--loading .wpb-product { opacity: .5; } 

@media (min-width: 768px) {
    body.woocommerce-page ul.products.columns-2,
    body.woocommerce-page ul.products.columns-3,
    body.woocommerce-page ul.products.columns-4,
    body.woocommerce-page ul.products.columns-5 { --gc: 2; }
}

@media (min-width: 992px) {
    body.woocommerce-page ul.products.columns-3,
    body.woocommerce-page ul.products.columns-4,
    body.woocommerce-page ul.products.columns-5 { --gc: 3; }
}

@media (min-width: 1200px) {
    body.woocommerce-page ul.products.columns-4,
    body.woocommerce-page ul.products.columns-5 { --gc: 4; }
}

@media (min-width: 1400px) {
    body.woocommerce-page ul.products.columns-5 { --gc: 5; }
}

/* Woocommerce loop item
-------------------------------------- */
.wpb-product { position: relative; display: grid; grid-template-rows: auto 1fr; grid-template-columns: minmax(0, 1fr) minmax(0, 4.5rem); gap: .8rem; align-items: end; }
.wpb-product a { text-decoration: none; }
.wpb-product a.added_to_cart { display: none!important; }
.wpb-product .product__header { grid-column: span 2; border-radius: .5rem; position: relative; height: 20rem; text-align: center; padding: 1.6rem; border: 2px solid var(--clr-primary-5) }
.wpb-product .product__header img { width: 100%; height: 100%; object-fit: contain; transition: transform var(--global-transition-duration) var(--global-transition-function); }
.wpb-product .product__header .toggle-bookmark { position: absolute; top: 1rem; right: 1rem;  }
.wpb-product .product__body { height: 100%; display: flex; flex-direction: column; }
.wpb-product .prd-sku { font-size: 1.2rem; opacity: .5; }
.wpb-product .prd-title { font-size: 1.4rem; line-height: 1.2; font-weight: 700; display: block; margin-bottom: .8rem; text-transform: uppercase; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.wpb-product .onsale { font-size: 1.4rem; position: absolute; top: 1.5rem; left: 1.5rem; color: var(--clr-danger); border: 1px solid var(--clr-danger); padding: .4rem 1.1rem; border-radius: .5rem; z-index: 1; }

.wpb-product .prd-price { line-height: 1.2; margin-top: auto; flex-wrap: wrap; align-items: baseline; column-gap: .3em; }
.wpb-product .prd-price del { display: block; width: 100%; font-size: 1.4rem; color: rgba(var(--clr-dark-rgb), .4); font-weight: 600; }
.wpb-product .prd-price > ins,
.wpb-product .prd-price bdi { text-decoration: none; font-weight: 700; font-size: 2.2rem; }  
.wpb-product .prd-price .tax-status { font-weight: 600; }

.wpb-product .stock { margin: .8rem 0 0 0; font-size: 1.2rem; }

.woocommerce-cross-sells__body .add_to_cart_button.loading { position: relative; overflow: hidden; }
.wpb-product .add_to_cart_button { width: 100%; margin-top: 2rem; position: relative; overflow: hidden; }
.woocommerce-cross-sells__body .add_to_cart_button.loading::before,
.woocommerce-cross-sells__body .add_to_cart_button.loading::after,
.wpb-product .add_to_cart_button.loading::before,
.wpb-product .add_to_cart_button.loading::after { content: ''; display: block; position: absolute; z-index: 1; }
.woocommerce-cross-sells__body .add_to_cart_button.loading::before,
.wpb-product .add_to_cart_button.loading::before { top: 0; right: 0; bottom: 0; left: 0; background: var(--clr-primary); }
.woocommerce-cross-sells__body .add_to_cart_button.loading::after,
.wpb-product .add_to_cart_button.loading::after { --src: url('/app/themes/wuxnl-theme/assets/icons/default/icon_loading.svg'); --clr: #fff; --width: 2rem; --height: 2rem; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: var(--width); height: var(--height); background-color: var(--clr); top: calc(50% - (var(--height) / 2)); left: calc(50% - (var(--width) / 2)); animation: woocommerce_rotate 0.5s linear infinite; }

.wpb-product .product__header:hover img { transform: scale(1.05); }
.wpb-product .prd-title:hover { text-decoration: underline; }

@keyframes woocommerce_rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@media (min-width: 768px) {
    .wpb-product .prd-sku { font-size: 1.4rem; }
    .wpb-product .prd-title { font-size: 1.7rem; }

    .wpb-product .prd-price > ins,
    .wpb-product .prd-price bdi { font-size: 2.5rem; }  

    .wpb-product .stock { font-size: 1.4rem; }  
}





/* Quantity selector
-------------------------------------- */
.quantity { display: inline-grid; grid-template-columns: repeat(3, minmax(0, 5.5rem)); align-items: center; border-radius: 4rem; row-gap: .5rem; }
.quantity .quantity-label { grid-column: span 3; }
.quantity button { border: none; background-color: var(--clr-primary-20); border-radius: .5rem; display: inline-grid; place-items: center; cursor: pointer; width: 5.5rem; height: 5.5rem; min-width: 5.5rem; transition: background-color var(--global-transition-duration) var(--global-transition-function); }  
.quantity button .wpb-icon { --w: 1.6rem; --h: 1.6rem; --clr: var(--clr-dark); pointer-events: none; }
.quantity button:hover, .quantity button:focus, .quantity button:active { background-color: var(--clr-primary); } 
.quantity button:hover .wpb-icon, .quantity button:focus .wpb-icon, .quantity button:active .wpb-icon { --clr: #fff; }
.quantity input { font-size: 1.8rem; font-weight: 700; text-align: center; --p: 0!important; width: 5.6rem; height: 5.5rem; max-width: 5.6rem; min-height: 0rem!important; border-radius: .4rem; background-color: transparent; }
.quantity input { -moz-appearance: textfield; border: none!important; }
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity input:focus { outline: none!important; border: none!important; }





/* Image gallery popup
-------------------------------------- */
.pswp .pswp__bg { background: rgba(0,0,0,.75); }






/* Single product
-------------------------------------- */
body.single-product h1 { --fs: clamp(2rem, 5vw, 2.4rem); }
body.single-product .h2,
body.single-product h2 { --fs: clamp(2rem, 4vw, 2.4rem); }

body.single-product .woocommerce-breadcrumb { margin-block: 1.8rem; }

body.single-product .entry-summary .prd-sku { color: rgba(var(--clr-dark-rgb), .7); }  
body.single-product .entry-summary .entry-title { margin-bottom: 1rem; }
body.single-product .entry-summary .prd-short-description { margin-bottom: 1rem; text-wrap: balance; }
body.single-product .entry-summary .prd-usps { list-style: none; margin-bottom: 3.6rem; font-size: 1.4rem; }
body.single-product .entry-summary .prd-usps li { display: flex; align-items: center; column-gap: .8rem; }  
body.single-product .entry-summary .prd-usps li .wpb-icon { --w: 1.6rem; --h: 1.6rem; }
body.single-product .entry-summary .prd-usps li + li { margin-top: .75rem; }
body.single-product .entry-summary .prd-usps li:nth-child(1) { color: var(--usp-clr, var(--clr-success)); }
body.single-product .entry-summary .prd-usps li:nth-child(1) .wpb-icon { --clr: var(--usp-clr, var(--clr-success)); }  
body.single-product .entry-summary .prd-usps li[data-opened="false"] { display: none; }
body.single-product .entry-summary .stock { margin-bottom: 2.4rem; }
body.single-product .entry-summary .stock:has(+ .stock-info) { margin-bottom: 1rem; }
body.single-product .entry-summary .stock-info { display: block; width: 100%; margin-bottom: 2.4rem; }
body.single-product .entry-summary .prd-price { line-height: 1.2; margin-bottom: .6rem; flex-wrap: wrap; align-items: baseline; column-gap: .3em; }
body.single-product .entry-summary .prd-price del { display: block; width: 100%; font-size: 1.4rem; color: rgba(var(--clr-dark-rgb), .4); font-weight: 600; }
body.single-product .entry-summary .prd-price > ins,
body.single-product .entry-summary .prd-price bdi { text-decoration: none; font-weight: 700; font-size: 2.5rem; }  
body.single-product .entry-summary .prd-price .tax-status { font-size: 1.6rem; font-weight: 700; }
body.single-product .entry-summary .woocommerce-payment-icons { margin-top: 1.5rem; justify-content: start; }
body.single-product .entry-summary .wpb-card--cta { margin-top: 3.2rem; }

.wpb-product-content { margin-bottom: 3.2rem; }
.wpb-product-content .container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3.2rem; align-items: start; }
.wpb-product-content hr { border: none; border-top: 1px solid var(--clr-primary-20); }
.wpb-product-content .entry-content { display: flex; flex-direction: column; gap: 2rem; }

.prd-specifications .h2,
.prd-specifications .h3 { display: block; width: 100%; margin-bottom: .75em; }
.prd-specifications .h3 { cursor: pointer; user-select: none; font-size: 1.8rem; display: flex; justify-content: space-between; align-items: center; }
.prd-specifications .h3 .wpb-icon { --w: 1.2rem; --h: 1.2rem; transition: transform var(--ts-25) ease; }
.prd-specifications .prd-specifications-group { height: auto; overflow: clip; transition: height var(--ts-25) ease-in; height: calc-size(max-content, size); }
.prd-specifications .prd-specifications-group div { font-size: 1.4rem; display: grid; grid-template-columns: 1fr 2fr; padding: .65rem .8rem; }
.prd-specifications .prd-specifications-group div:nth-child(odd) { background-color: var(--clr-primary-5); }
.prd-specifications .prd-specifications-group + [type="checkbox"] + .h3 { margin-top: 4rem; }
.prd-specifications [type="checkbox"] { opacity: 0; position: absolute; left: -999rem; }
.prd-specifications [type="checkbox"]:not(:checked) + label .wpb-icon { transform: rotate(180deg); }
.prd-specifications [type="checkbox"]:not(:checked) + label + .prd-specifications-group { height: 0px; }  

.prd-description .wpb-text + .prd-crosssells { margin-top: 2.4rem; }
.prd-description .woocommerce { padding: 0!important; }  
.prd-description .woocommerce ul { padding: 0; }
.prd-description .woocommerce li { display: flex; flex-direction: column; row-gap: .8rem; column-gap: 1.6rem; }
.prd-description .woocommerce li .product__header { width: 100%; position: relative; border-radius: .5rem; position: relative; text-align: center; padding: 1rem; border: 2px solid var(--clr-primary-5); }
.prd-description .woocommerce li .product__header::before { content: ''; display: block; padding-top: 75%; } 
.prd-description .woocommerce li .product__header img { position: absolute; top: 1rem; right: 1rem; bottom: 1rem; left: 1rem; width: calc(100% - 2rem); height: calc(100% - 2rem); object-fit: contain; }
.prd-description .woocommerce li a.add_to_cart_button,
.prd-description .woocommerce li .added_to_cart { display: none; }
.prd-description .woocommerce li .prd-title { font-family: var(--font-primary); font-size: 1.3rem; }
.prd-description .woocommerce li a { text-decoration: none; }
.prd-description .woocommerce li .prd-price { font-size: 1.4rem; font-weight: 700; justify-content: space-between; align-items: baseline; margin-top: 1rem; }
.prd-description .woocommerce li .prd-price small { font-weight: 400; line-height: 1; }

.prd-crosssells .h3 { display: block; width: 100%; margin-bottom: 1.4rem; }

body.single-product .wpb-reviews { margin-bottom: 3.2rem; } 

body.single-product .wpb-popular-products .section__header h2,
body.single-product .wpb-related-articles .section__header h2 { --fs: clamp(2.8rem, 4vw, 3.6rem); font-style: italic; } 


@media (min-width: 768px) {
    .wpb-product-content .container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wpb-product-content hr { grid-column: span 2; }
}

@media (min-width: 992px) {
    .wpb-product-content { margin-bottom: 4.8rem; }
    .wpb-product-content .container { row-gap: 4.8rem; column-gap: 6.4rem; }

    body.single-product .wpb-reviews { margin-bottom: 4.8rem; } 
}

@media (min-width: 1200px) {
    .wpb-product-content { margin-bottom: 8rem; }
    .wpb-product-content .container { row-gap: 8rem; column-gap: 8.5rem; }
    body.single-product .entry-summary .wpb-card--cta { margin-top: 6rem; }
    
    body.single-product .wpb-reviews { margin-bottom: 8rem; } 
}

.woocommerce-product-gallery { position: relative; --br: .5rem; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 1rem; row-gap: 1rem; }
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper .zoomImg { background-color:#fff; opacity: 0; }
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper:not(:has(.flex-viewport)),
.woocommerce-product-gallery .flex-viewport { outline: 1px solid var(--clr-primary-20); border-radius: .5rem; }
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div > a { position: relative; }
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div > a::before { content: ''; display: block; padding-top: 75%; }  
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div > a img { --offset: 2rem; position: absolute; top: var(--offset); right: var(--offset); bottom: var(--offset); left: var(--offset); width: calc(100% - (var(--offset) * 2)); height: calc(100% - (var(--offset) * 2)); object-fit: contain; }
.woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder { border: 1px solid #f2f2f2; }
.woocommerce-product-gallery .woocommerce-product-gallery__trigger { position: absolute; top: .5em; right: .5em; font-size: 2em; z-index: 9; width: 36px; height: 36px; background: #fff; text-indent: -9999px; border-radius: 100%; box-sizing: content-box; }
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::before { content: ""; display: block; width: 10px; height: 10px; border: 2px solid #000; border-radius: 100%; position: absolute; top: 9px; left: 9px; box-sizing: content-box; }
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::after { content: ""; display: block; width: 2px; height: 8px; background: #000; border-radius: 6px; position: absolute; top: 19px; left: 22px; transform: rotate(-45deg);box-sizing:content-box; }

.woocommerce-product-gallery .flex-control-nav { --gc: 5; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); column-gap: 1rem; row-gap: 1rem; list-style: none; }
.woocommerce-product-gallery .flex-control-nav li { cursor: pointer; }
.woocommerce-product-gallery .flex-control-nav img { outline: 1px solid var(--clr-primary-20); outline-offset: -2px; border-radius: .5rem; transition: outline var(--ts-15) ease; }
.woocommerce-product-gallery .flex-control-nav img.flex-active { outline: 1px solid var(--clr-primary); }   

@media (min-width: 768px) {
    .woocommerce-product-gallery { position: sticky; top: 15rem; margin-bottom: 3.2rem; }
}

@media (min-width: 992px) {
    .woocommerce-product-gallery { margin-bottom: 4.8rem; }
}

@media (min-width: 992px) {
    .woocommerce-product-gallery { margin-bottom: 8rem; }
}


ul.flex-direction-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; width: 100%; left: 0; margin: 0; padding: 0px; list-style: none; display: flex; justify-content: space-between; padding: 0 2rem; grid-row: 1 / 1; }
ul.flex-direction-nav a { position: relative; display: block; width: 3.2rem; height: 3.2rem; border-radius: .5rem; border: 1px solid var(--clr-primary-20); text-indent: -999rem; overflow: hidden; }
ul.flex-direction-nav a::after { --src: url('/app/themes/wuxnl-theme/assets/icons/fa/solid/arrow-left.svg'); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); content: ''; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: 1.3rem; height: 1.3rem; background-color: #99B1BD; transition: background-color var(--global-transition-duration) var(--global-transition-function); }
ul.flex-direction-nav a.flex-next::after { --src: url('/app/themes/wuxnl-theme/assets/icons/fa/solid/arrow-right.svg'); }

/* Variation radios */
.variation-radios { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.variation-radios label { cursor: pointer; display: block; width: 4rem; height: 4rem; border-radius: 50%; text-indent: -9999rem; background-color: var(--bg-clr); transition: box-shadow var(--ts-15) ease; }
.variation-radios [type="radio"] { position: absolute; left: -9999rem; opacity: 0; }
.variation-radios [type="radio"]:checked + label { --checked-border-color: var(--clr-primary); --checked-border-bg-color: #fff; box-shadow: inset 0 0 0 .2rem var(--checked-border-color), inset 0 0 0 .6rem var(--checked-border-bg-color); }

/* Product short-description */
.woocommerce-product-details__short-description { margin-bottom: 2.2rem; }

/* Product variations */
.variations { opacity: 0; }
.variations tbody { display: grid; gap: 1.6rem; }
.variations tr { display: grid; }
.variations td, 
.variations th { padding: 0; line-height: 1.15; text-align: left; padding: 0; border: 0; }
.variations label { font-weight: 400; }
.variations select { width: 100%; max-width: 27rem; border-color: var(--clr-border); appearance: none; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgc3Ryb2tlPSIjMjQyQTJFIj48cGF0aCBkPSJNMS41MDAwMiA0TDYuMDAwMDIgOEwxMC41IDQiIHN0cm9rZS13aWR0aD0iMS41Ij48L3BhdGg+PC9zdmc+); background-repeat: no-repeat; background-position: calc(100% - 1.6rem) 50%; cursor: pointer; }
.variations .reset_variations { display: block; }

/* Product meta */
.product_meta { display: grid; grid-template-columns: minmax(0, 1fr); }
.product_meta * { font-size: 1.4rem; }

body.single-product form.cart:not(.variations_form), 
body.single-product form.cart .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.6rem; align-items: end; } 
body.single-product form.cart [type="submit"] { --bg-clr: var(--clr-success); --hover-bg-clr: var(--clr-success-110); font-weight: 600; justify-content: space-between; font-size: 1.6rem; min-height: 5.5rem; width: 100%; }
body.single-product form.cart.grouped_form table { margin: 0; }
body.single-product .sticky-add-to-cart { background-color: #fff; padding: 1.8rem; position: fixed; bottom: 0; right: 0; left: 0; z-index: 950; transform: translate3D(0, 100%, 0); border-top: 1px solid rgba(0,0,0,.1); transition: transform var(--global-transition-duration) ease; }  
body.single-product .sticky-add-to-cart form.cart { grid-template-columns: auto 1fr; }
body.single-product .sticky-add-to-cart form.cart .quantity input,
body.single-product .sticky-add-to-cart form.cart .quantity button { width: 4.5rem; min-width: 4.5rem; height: 4.5rem; }
body.single-product .sticky-add-to-cart form.cart [type="submit"] { min-height: 4.5rem; }
body.single-product .sticky-add-to-cart.sticky-add-to-cart--external form.cart { display: block!important; }
body.single-product .sticky-add-to-cart .prd-shipping,
body.single-product .sticky-add-to-cart .wpb-bp-rules { display: none; }
body.single-product .sticky-add-to-cart.is-sticky { transform: translate3D(0, 0, 0); }

body.single-product table.variations { margin-bottom: 2rem; overflow-y: clip; }
body.single-product table.variations .reset_variations { display: none!important; }
body.single-product .single_variation_wrap .woocommerce-variation-description { margin-bottom: 2rem; }
body.single-product .single_variation_wrap .woocommerce-variation-price { margin-bottom: 2rem; }

.prd-shipping { font-size: 1.4rem; line-height: 1.2; text-wrap: balance; }  
.prd-shipping strong { display: flex; align-items: center; column-gap: .7rem; width: 100%; margin-bottom: .2rem; }  
.prd-shipping strong .wpb-icon { --clr: var(--clr-primary); --w: 1.7rem; --h: 1.7rem; }

.woocommerce-grouped-product-list tr td { padding: 1rem; padding-left: 0; vertical-align: middle; }
.woocommerce-grouped-product-list tr td:last-child { padding-right: 0; }
.woocommerce-grouped-product-list .quantity input,
.woocommerce-grouped-product-list .quantity button { width: 4.5rem; min-width: 4.5rem; height: 4.5rem; }

/*** ----- Staffelkorting ----- ***/
body.single-product form.cart .wpb-bp-rules { border: .1rem solid var(--clr-border); border-radius: .5rem; }
body.single-product form.cart .wpb-bp-rules .wpb-bp-rules__body { display: grid; grid-template-columns: minmax(0, 1fr); }
body.single-product form.cart .wpb-bp-rules table { margin: 0; border-color: var(--clr-border); }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule { cursor: pointer; transition-property: box-shadow, background-color; transition-duration: var(--global-transition-duration); transition-timing-function: var(--global-transition-function); }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule * { font-size: 1.4rem; }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule > td { padding: 0.5rem 1.2rem; white-space: nowrap; border: none; }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule > td:nth-child(1) { padding-right: 0; }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule > td:nth-child(3) { text-align: right; }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule .sale-badge { font-size: 1.2rem; opacity: .75; font-weight: 600; color: var(--clr-danger); line-height: 1; border-radius: 24px; display: inline-block; width: fit-content; }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule:nth-child(even) { background-color: var(--clr-primary-5); }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule .prd-price { justify-content: end; }
body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule .prd-price small { display: none; font-weight: 400; font-size: 1.2rem; }

@media (min-width: 768px) {
    body.single-product form.cart .wpb-bp-rules table .wpb-bp-rule .prd-price small { display: inline-block; }
}

@media (min-width: 768px) {
    body.single-product .sticky-add-to-cart { display: none; }
}

@media (min-width: 992px) {
    body.single-product form.cart:not(.variations_form), 
    body.single-product form.cart .woocommerce-variation-add-to-cart { grid-template-columns: auto minmax(0, 1fr); } 

    body.single-product form.cart .wpb-table,
    body.single-product form.cart:not(.variations_form) .prd-shipping,
    body.single-product form.cart .woocommerce-variation-add-to-cart .prd-shipping,
    body.single-product form.cart .wpb-alert,
    body.single-product form.cart .wpb-bp-rules { grid-column: span 2; }
    body.single-product form.cart [type="submit"] { max-width: 22.3rem; }

    body.single-product form.cart.grouped_form .prd-shipping { grid-column: span 1; }
}

@media (min-width: 1400px) {
    body.single-product form.cart:not(.variations_form), 
    body.single-product form.cart .woocommerce-variation-add-to-cart { grid-template-columns: auto 22.3rem 1fr; }

    body.single-product form.cart:not(.variations_form) .prd-shipping,
    body.single-product form.cart .woocommerce-variation-add-to-cart .prd-shipping { grid-column: span 1; }

    body.single-product form.cart .wpb-alert,
    body.single-product form.cart .wpb-bp-rules { grid-column: span 3; }

    body.single-product form.cart.grouped_form { grid-template-columns: 22.3rem 1fr; }
}

/* Widget mini-cart
-------------------------------------- */
.wpb-woocommerce-mini-cart { position: relative; display: flex; align-items: center; }
.wpb-woocommerce-mini-cart:hover .woocommerce-mini-cart__content { opacity: 1; pointer-events: all; }
.wpb-woocommerce-mini-cart .woocommerce-mini-cart__content .woocommerce-mini-cart__content-header { display: none; }
.wpb-woocommerce-mini-cart.is-loading .product_list_widget { pointer-events: none; opacity: .5; }
.wpb-woocommerce-mini-cart.items-count-large .woocommerce-mini-cart__button::before { font-size: 1rem; }

.woocommerce-mini-cart__button { position: relative; cursor: pointer; }
.woocommerce-mini-cart__button::before { content: attr(data-count); position: absolute; top: -.8rem; right: -.8rem; display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background-color: var(--clr-danger); color: #fff; font-size: 1.3rem; line-height: 1.3rem; transition: background-color var(--ts-15) ease, color var(--ts-15) ease; overflow: clip; }

.woocommerce-mini-cart__content { position: absolute; top: 100%; right: 0; bottom: auto; left: auto; background-color: #fff; width: 100%; min-width: 38rem; z-index: 1000; padding: 2rem; border: 1px solid var(--clr-border); opacity: 0; pointer-events: none; transition: opacity var(--ts-15) ease; }

.product_list_widget { position: relative; max-height: 30rem; overflow-y: auto; scroll-snap-type: y proximity; list-style: none; margin: 0 0 1.6rem 0; transition: opacity var(--ts-15) ease; }
.product_list_widget::-webkit-scrollbar { width: 6px; }
.product_list_widget::-webkit-scrollbar-thumb { background: var(--clr-primary-5); border-radius: 6px; }

.woocommerce-mini-cart-item { --py: .75rem; padding: var(--py) 0 var(--py) 8rem; min-height: 6.7rem; position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; scroll-snap-align: start; }
.woocommerce-mini-cart-item + .woocommerce-mini-cart-item { border-top: 1px solid var(--clr-border);  }
.woocommerce-mini-cart-item a { grid-column: span 2; text-decoration: none; line-height: 1.25; font-size: 1.4rem; }
.woocommerce-mini-cart-item img { width: 7rem; height: 7rem; position: absolute; left: 0; top: var(--py); aspect-ratio: 1/1; }
.woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: var(--py); text-align: center; background-color: rgba(0,0,0,.1); color: rgba(0, 0, 0,1)!important; line-height: 1.1; transition: background-color var(--ts-15), color var(--ts-15) ease; width: 1.6rem; height: 1.6rem; border-radius: 50%; font-size: 1.6rem; }
.woocommerce-mini-cart-item .quantity { margin-right: auto; padding: .25rem; }
.woocommerce-mini-cart-item .quantity button { width: 2.2rem; height: 2.2rem; }
.woocommerce-mini-cart-item .quantity button .wpb-icon { --w: 1.2rem; --h: 1.2rem; }
.woocommerce-mini-cart-item .quantity input { font-size: 1.4rem; height: 2.4rem; width: 2.4rem; }
.woocommerce-mini-cart-item .item-price { grid-column: span 2; --fs: 1.2rem; }
.woocommerce-mini-cart-item .item-subtotal { --fs: 1.4rem; font-weight: bold; }
.woocommerce-mini-cart-item .variation { display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.woocommerce-mini-cart-item .variation dt { font-weight: 700; font-size: 1.4rem; line-height: 1.25; margin-right: .5rem; }
.woocommerce-mini-cart-item .variation dd { margin-right: 1rem!important; font-size: 1.4rem; line-height: 1.25; }
.woocommerce-mini-cart-item .variation dd p { font: inherit; }

.woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0 0 0; border-top: 1px solid var(--clr-border); margin: 0 0 1.6rem 0; }
.woocommerce-mini-cart__buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.woocommerce-mini-cart__buttons .button { --fs: 1.4rem; }
.woocommerce-mini-cart__buttons .button.checkout { --fs: 1.4rem; }

/* Woocommerce mini-cart empty message */
.woocommerce-mini-cart__empty-message { padding: 1rem; font-size: 1.6rem; text-align: center; background-color: var(--clr-primary-20); color: var(--clr-primary); }

/* Woocommerce mini-cart totals */
.woocommerce .widget_shopping_cart .total *, .woocommerce.widget_shopping_cart .total * { font-size: 1.6rem; }

.wpb-woocommerce-mini-cart.is-sidebar .woocommerce-mini-cart__content { opacity: 1; z-index: 9999; position: fixed; top: 0; right: 0; bottom: 0; left: auto; width: 100%; max-width: 46.8rem; transform: translate3d(100%, 0, 0); transition: transform var(--ts-35) ease; }
.wpb-woocommerce-mini-cart.is-sidebar .woocommerce-mini-cart__content.is-active { opacity: 1; pointer-events: all; transform: translate3d(0%, 0, 0); }






/*** ---------- Woocommerce: Block UI ---------- ***/
div.blockOverlay { background-color: var(--clr-dark)!important; border-radius: .4rem!important; }
div.blockOverlay:before { content: ''; display: block; position: absolute; z-index: 1; --src: url('/app/themes/wuxnl-theme/assets/icons/default/icon_loading.svg'); --clr: #fff; --width: 3rem; --height: 3rem; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: var(--width); height: var(--height); background-color: var(--clr); top: calc(50% - (var(--height) / 2)); left: calc(50% - (var(--width) / 2)); animation: woocommerce_rotate 0.75s linear infinite; }






/* Cart page
-------------------------------------- */
body.woocommerce-cart { background-color: var(--clr-primary-5); }
body.woocommerce-cart .woocommerce-notices-wrapper { margin-top: 3.2rem; }
body.woocommerce-cart .wpb-header .woocommerce-notices-wrapper { width: 100%; } 

.wpb-woocommerce-cart { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3.2rem; align-items: start; }

.wpb-woocommerce-cart__main { container-name: cartTable; container-type: inline-size; }
.wpb-woocommerce-cart__main .wpb-card .card-title { margin: 0 0 2rem 0; }
.wpb-woocommerce-cart__main .wpb-card .wpb-table { overflow-x: hidden; }

.wpb-woocommerce-cart__aside .wpb-card { font-size: 1.4rem; }
.wpb-woocommerce-cart__aside .wpb-card table tr { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; align-items: center; }
.wpb-woocommerce-cart__aside .wpb-card table th,
.wpb-woocommerce-cart__aside .wpb-card table td { display: block; padding: 0; border: none; }
.wpb-woocommerce-cart__aside .wpb-card table td { text-align: right; }
.wpb-woocommerce-cart__aside .wpb-card table tr + tr { padding-top: .5rem; }
.wpb-woocommerce-cart__aside .wpb-card table tr.order-total { border-top: 1px solid var(--clr-primary-20); margin-top: 2rem; padding-top: 2rem; }
.wpb-woocommerce-cart__aside .wpb-card table tr.order-total td { font-size: 2rem; }
.wpb-woocommerce-cart__aside .wpb-card table tr.order-total .includes_tax { display: block; width: 100%; font-size: 1.4rem; }

.wpb-woocommerce-cart__aside .wpb-card table tr.shipping { display: grid; grid-template-columns: minmax(0, 1fr); }
.wpb-woocommerce-cart__aside .wpb-card table tr.shipping ul { display: flex; column-gap: 1rem; }
.wpb-woocommerce-cart__aside .wpb-card table tr.shipping ul li { width: 100%; margin: 0!important; position: relative; }
.wpb-woocommerce-cart__aside .wpb-card table tr.shipping ul li input { position: absolute; top: 50%; left: 1rem; transform: translateY(-50%); }
.wpb-woocommerce-cart__aside .wpb-card table tr.shipping ul li label { text-align: left; width: 100%; border-radius: .5rem; padding: 1rem 1rem 1rem 3rem; border: 1px solid var(--clr-primary-20); } 


.wpb-woocommerce-cart__aside .wpb-card h2 { font-size: 2rem; padding-bottom: 1.6rem; }
.wpb-woocommerce-cart__aside .wpb-card .wc-proceed-to-checkout a { width: 100%; --bg-clr: var(--clr-success); --hover-bg-clr: var(--clr-success-110); min-height: 5.5rem; }

.wpb-woocommerce-cart table.cart { --border-color: var(--clr-border); margin: 0; border-radius: 0; border-collapse: collapse; border: 0; }
.wpb-woocommerce-cart table.cart [name="update_cart"] { display: none!important; }
.wpb-woocommerce-cart table.cart a { text-decoration: none; }
.wpb-woocommerce-cart table.cart thead { display: none!important; }
.wpb-woocommerce-cart table.cart thead th { padding: 0 1rem; border: none; text-align: left; }

.wpb-woocommerce-cart table.cart .cart_item + .cart_item { border-top: 1px solid var(--clr-primary-5); padding-top: 3.2rem; }
.wpb-woocommerce-cart table.cart .cart_item small.backorder {     display: inline-block; font-weight: 400; padding: .5rem 1rem; font-size: 1.3rem; }
.wpb-woocommerce-cart table.cart .cart_item td { border: none!important; }
.wpb-woocommerce-cart table.cart .cart_item .product-name { font-weight: 700; padding: 0; line-height: 1.2; }
.wpb-woocommerce-cart table.cart .cart_item .product-name a { display: block; font-size: 1.6rem; margin: 0 0 .5rem 0; }
.wpb-woocommerce-cart table.cart .cart_item .product-name .variation { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; font-size: 1.4rem; font-weight: 400; }
.wpb-woocommerce-cart table.cart .cart_item .product-remove { order: 2; display: grid; place-items: center; padding: 0; }
.wpb-woocommerce-cart table.cart .cart_item .product-remove a { font-size: 1.8rem; border: 1px solid var(--clr-primary-20); border-radius: .5rem; color: var(--clr-dark); background-color: #fff; padding: 0; width: 3.2rem; height: 3.2rem; display: inline-grid; place-items: center; transition-property: border-color, background-color, color; transition-timing-function: var(--global-transition-function); transition-duration: var(--global-transition-duration); }
.wpb-woocommerce-cart table.cart .cart_item .product-remove a:hover { background-color: var(--clr-danger); border-color: var(--clr-danger); color: #fff; }
.wpb-woocommerce-cart table.cart .cart_item .product-thumbnail { padding: 0!important; }
.wpb-woocommerce-cart table.cart .cart_item .product-thumbnail a { border: 1px solid var(--clr-primary-20); display: block; position: relative; background-color: #fff; border-radius: .4rem; }
.wpb-woocommerce-cart table.cart .cart_item .product-thumbnail a::after { content: ''; display: block; width: 100%; padding-top: 100%; }
.wpb-woocommerce-cart table.cart .cart_item .product-thumbnail img { position: absolute; top: .5rem; right: .5rem; bottom: .5rem; left: .5rem; width: calc(100% - 1rem); height: calc(100% - 1rem); object-fit: contain; }
.wpb-woocommerce-cart table.cart .cart_item .product-price .price-item .price-old { text-decoration: line-through; font-size: 1.2rem; }

.wpb-woocommerce-cart table.cart .cart_item .product-subtotal { padding: 0; text-align: right; }
.wpb-woocommerce-cart table.cart .cart_item .product-subtotal .tax_label { display: block; }

.wpb-woocommerce-cart table.cart .coupon { background-color: var(--clr-primary-5); padding: 1.8rem; border-radius: .5rem; margin-top: 3.2rem; display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem; }

.wpb-woocommerce-cart table.cart .cart_item .quantity { grid-template-columns: repeat(3, minmax(0, 4.5rem)); }
.wpb-woocommerce-cart table.cart .cart_item .quantity input { --p: 0; font-size: 1.6rem; }  
.wpb-woocommerce-cart table.cart .cart_item .quantity input,
.wpb-woocommerce-cart table.cart .cart_item .quantity button { width: 4.5rem; height: 4.5rem; min-width: 4.5rem; }

.wpb-woocommerce-cart .usps.js-usps { list-style: none; display: grid; --gc: 1; grid-template-columns: repeat(var(--gc), minmax(0,1fr)); gap: 2rem; margin-top: 2rem; }
.wpb-woocommerce-cart .usps.js-usps > li { display: flex; gap: 1rem; align-items: center; }

@media (min-width: 576px) {
    .wpb-woocommerce-cart table.cart .coupon { grid-template-columns: minmax(0, 1fr) minmax(0, auto); }
}

@media (min-width: 992px) {
    body.woocommerce-cart .woocommerce-notices-wrapper { margin-top: 8rem; }

    .wpb-woocommerce-cart .cart-collaterals { max-width: 50rem; margin-left: auto; }

    .wpb-woocommerce-cart table.cart thead { display: table-header-group; }

    .wpb-woocommerce-cart table.cart td { border-bottom-width: 0px!important; padding: 0; }
    .wpb-woocommerce-cart table.cart .cart_item { display: grid; grid-template-columns: auto 1fr auto auto 10rem 3.2rem; column-gap: 1.6rem; align-items: center; margin-bottom: 3.2rem; }
    .wpb-woocommerce-cart table.cart .cart_item td:nth-child(1) { padding-left: 0; }
    .wpb-woocommerce-cart table.cart .cart_item td:nth-last-child(1) { padding-right: 0; }

    .wpb-woocommerce-cart table.cart .cart_item .product-thumbnail a { width: 10rem; }
    .wpb-woocommerce-cart__main .wpb-card .card-title { font-size: 2.4rem; }
    
    .wpb-woocommerce-cart__aside { margin-left: auto; }
}

@media (min-width: 1200px) {
    .wpb-woocommerce-cart { grid-template-columns: minmax(0, 1fr) minmax(0, 40rem); }
    .wpb-woocommerce-cart .cart-collaterals { margin-left: 0; }
    .wpb-woocommerce-cart .cart-empty { grid-column: span 2; } 

    .wpb-woocommerce-cart__main .wpb-card { --p: 3.2rem; }

    .wpb-woocommerce-cart__aside { margin-left: 0; }
}

@media (min-width: 1400px) {
    .wpb-woocommerce-cart__main .wpb-card .card-title { font-size: 3.2rem; }
}

@container cartTable (max-width: 768px) {
    .wpb-woocommerce-cart table.cart td { border: none; }
    .wpb-woocommerce-cart table.cart .cart_item + .cart_item { margin-top: 2rem; padding-top: 2rem; }
    .wpb-woocommerce-cart table.cart .cart_item { display: flex!important; gap: 0; flex-wrap: wrap; position: relative; gap: 10px; align-items: center; justify-content: space-between; }
    .wpb-woocommerce-cart table.cart .cart_item:not(:first-of-type) .product-remove { top: 1.6rem; }
    .wpb-woocommerce-cart table.cart .cart_item .product-thumbnail a { width: 6.4rem; }
    .wpb-woocommerce-cart table.cart .cart_item .product-remove { position: absolute; padding: 0; top: 0; right: 0; }
    .wpb-woocommerce-cart table.cart .cart_item .product-quantity { padding: 0; }
    .wpb-woocommerce-cart table.cart .cart_item .product-name { width: calc(100% - 7.4rem); padding-right: 4.8rem; text-align: left; }
    .wpb-woocommerce-cart table.cart .cart_item .product-price { display: none; }
    .wpb-woocommerce-cart table.cart .cart_item .product-subtotal { font-weight: 600; order: 6; }    
}

@media (max-width: 575.98px) {
    .wpb-woocommerce-cart table.cart .cart_item:not(:first-of-type) .product-remove { top: 3.2rem; }
}


.wpb-header--order-pay .container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }



/* Checkout page
-------------------------------------- */
body.woocommerce-checkout { background-color: var(--clr-primary-5); }
body.woocommerce-checkout .woocommerce-notices-wrapper > *:first-child { margin-top: 3.2rem; }
body.woocommerce-checkout .woocommerce-notices-wrapper > *:last-child { margin-bottom: 0; }

form.woocommerce-checkout wc-order-attribution-inputs { position: absolute; left: -999rem; }

form.woocommerce-checkout { --gc: 1; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 3.2rem; }

.wpb-woocommerce-checkout__main,
form.woocommerce-checkout .col2-set,
form.woocommerce-checkout .col2-set .col-2 { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.2rem; } 
form.woocommerce-checkout .col2-set .col-2 { grid-column: span 1; }
form.woocommerce-checkout .woocommerce-NoticeGroup { grid-column: 1/-1; }
form.woocommerce-checkout .woocommerce-NoticeGroup > * { margin-bottom: 1.6rem; }

.wpb-woocommerce-checkout__main h3 { font-size: 1.8rem; margin: 0 0 2rem 0; }
.wpb-woocommerce-checkout__main .woocommerce-payment-methods { margin-top: 3.2rem; }

.wpb-woocommerce-checkout__aside .wpb-card { font-size: 1.4rem; }
.wpb-woocommerce-checkout__aside h3 { font-size: 1.8rem; margin: 0 0 2rem 0; }
.wpb-woocommerce-checkout__aside .wpb-alert.wpb-alert--info { margin-bottom: 1rem; }

.modal.modal--wc-login .modal-dialog__body { padding-top: 0; }
.modal.modal--wc-login form { display: grid!important; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; }
.modal.modal--wc-login form p { grid-column: span 12; }
.modal.modal--wc-login form p.form-row { display: grid; grid-template-columns: 1fr auto; align-items: center; }
.modal.modal--wc-login form p.form-row-first,
.modal.modal--wc-login form p.form-row-last,
.modal.modal--wc-login form p.form-row-last .password-input { display: grid; grid-template-columns: minmax(0, 1fr); }
.modal.modal--wc-login form p.form-row-first input,
.modal.modal--wc-login form p.form-row-last .password-input { margin-top: auto; }
.modal.modal--wc-login form .show-password-input,
.modal.modal--wc-login form .clear { display: none; }

/*** ---------- Betaal voor bestelling pagina ---------- ***/
.woocommerce-order-pay .woocommerce-terms-and-conditions-wrapper { margin-bottom:3.5rem; }

@media (min-width: 992px) {
    .modal.modal--wc-login form p.form-row-first,
    .modal.modal--wc-login form p.form-row-last { grid-column: span 6; }  
    
    .wpb-woocommerce-checkout__main { grid-row: 2/3 }   
    .wpb-woocommerce-checkout__main h3 { font-size: 2.4rem; }

    .wpb-woocommerce-checkout__aside { grid-column: 2; grid-row: 2; }

    .woocommerce-order-pay .wpb-text .btn.btn--outline.btn--small { position: absolute; right: 0; bottom: 50%; }
}

@media (min-width: 1400px) {
    .wpb-woocommerce-checkout__main .wpb-card { --p: 3.2rem; }
}

@media (min-width: 1400px) {
    .wpb-woocommerce-checkout__main h3 { font-size: 3.2rem; }
}


/* Billing fields */
.woocommerce-billing-fields__fields-wrapper { display: grid; gap: 2rem; grid-template-columns: repeat(1, minmax(0, 1fr)); margin-bottom: 3.2rem; }
.woocommerce-billing-fields__fields-wrapper .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce-billing-fields__fields-wrapper .form-row .woocommerce-input-wrapper input { width: 100%; }
.woocommerce-billing-fields__fields-wrapper .form-row .checkout-inline-error-message { font-size: 1.3rem; line-height: 1.2; margin-top: .5rem; }

@media (max-width: 767.98px) {
    .woocommerce-billing-fields__fields-wrapper .empty-column { display: none; }
}

@media (min-width: 768px) {
    .woocommerce-billing-fields__fields-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Shipping fields */
.woocommerce-shipping-fields__fields-wrapper { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
.woocommerce-shipping-fields__fields-wrapper .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce-shipping-fields__fields-wrapper .form-row .woocommerce-input-wrapper input { width: 100%; }

@media (max-width: 767.98px) {
    .woocommerce-shipping-fields__fields-wrapper  .empty-column { display: none; }
}

@media (min-width: 768px) {
    .woocommerce-shipping-fields__fields-wrapper  { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Woocommerce checkout - shop table || Woocommerce checkout - Totals */

#customer_details { --gc: 1; } 

/* Shipping address */
.create-account .woocommerce-form__label,
#ship-to-different-address .woocommerce-form__label { padding: 0!important; margin: 1.8rem 0 0 0; position: relative; }
.create-account .woocommerce-form__label input,
#ship-to-different-address .woocommerce-form__label input { margin: 0 !important; position: absolute; top: 50%; transform: translateY(-50%); left: 2rem; }

.create-account .woocommerce-form__label span,
#ship-to-different-address .woocommerce-form__label span { cursor: pointer; font-size: 1.6rem; line-height: 1; font-weight: 400; display: flex; align-items: center; width: 100%;
    --p: 0 2rem 0 4.5rem; --br: .5rem; --border: 1px solid var(--clr-primary-20); --focus-border: 1px solid #000; font-family: var(--font-primary); min-height: 4.8rem; border: var(--border); border-radius: var(--br); transition: border-color var(--ts-15) ease; padding: var(--p); }


/* Payment methods */
.woocommerce-checkout-payment-gateways { background: transparent!important; }
.woocommerce-checkout-payment-gateways ul { padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem; border: none; list-style: none; }
.woocommerce-checkout-payment-gateways ul li:not(.woocommerce-notice)::before,
.woocommerce-checkout-payment-gateways ul li:not(.woocommerce-notice)::after { display: none; }
.woocommerce-checkout-payment-gateways ul li input { width: 0; height: 0; opacity: 0; position: absolute; left: -999rem; }
.woocommerce-checkout-payment-gateways ul li label { flex-direction: row-reverse; cursor: pointer; position: relative; display: flex; align-items: center; gap: .8rem; justify-content: start; font-size: 1.6rem; padding: 1.8rem; border-radius: .5rem; border: 1px solid var(--clr-primary-20); margin: 0!important; transition-duration: var(--global-transition-duration); transition-timing-function: var(--global-transition-function); transition-property: background-color, border-color, color; }
.woocommerce-checkout-payment-gateways ul li label::before { margin-left: auto; content: ''; display: inline-block; width: 1.8rem; height: 1.8rem; border-radius: 50%; border: 1px solid var(--clr-border); }
.woocommerce-checkout-payment-gateways ul li label :is(img, svg) { height: 2.8rem; width: auto; }
.woocommerce-checkout-payment-gateways ul li input:checked + label { background-color: var(--clr-primary-20); }
.woocommerce-checkout-payment-gateways ul li input:checked + label::before { border: .5rem solid var(--clr-primary); background-color: #fff; margin-left: auto; }
.woocommerce-checkout-payment-gateways ul::before, .woocommerce-checkout-payment ul::after { display: none; }
.woocommerce-checkout-payment-gateways .payment_box { background-color: rgba(var(--clr-primary-rgb), .15); border-radius: .8rem; padding: 2rem; margin-top: .8rem; }
.woocommerce-checkout-payment-gateways .payment_box p { font-size: 1.4rem; line-height: 1.4; }
.woocommerce-checkout-payment-gateways .payment_box select { width: 100%; border-radius: 0.6rem; border: 1px solid var(--clr-border); min-height: 4rem; padding: 0 1.7rem 0 1.7rem; }

/* Order privacy-policy / terms and conditions checkbox */
form.woocommerce-checkout [type="checkbox"], form.woocommerce-checkout [type="radio"] { margin: 0 .6rem 0 0; }
form.woocommerce-checkout .place-order :is(.privacy, .woocommerce-terms-and-conditions-wrapper .form-row) { display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; margin-top: 1rem; } 
form.woocommerce-checkout .place-order label { padding: 0; }
form.woocommerce-checkout .place-order .form-row { display: block!important; }
form.woocommerce-checkout .place-order *:not(input, [type="submit"]) { font-weight: 400; font-size: 1.4rem; }
form.woocommerce-checkout .place-order [type="submit"] { width: 100%; margin-top: 1.8rem; --bg-clr: var(--clr-success); --hover-bg-clr: var(--clr-success-110); min-height: 5.5rem; }

/* Order review */
.woocommerce-checkout-review-order-table { display: -ms-grid; display: grid; border-radius: 0!important; border: 0!important; margin: 0 0 1.6rem 0!important; }
.woocommerce-checkout-review-order-table thead { display: none!important; }
.woocommerce-checkout-review-order-table tbody { display: -ms-grid; display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1.6rem; max-height: calc(100vw - 100rem); overflow-y: auto; }
.woocommerce-checkout-review-order-table tbody::-webkit-scrollbar { width: 6px; }
.woocommerce-checkout-review-order-table tbody::-webkit-scrollbar-thumb { background: var(--clr-primary-10); border-radius: 6px; }

.woocommerce-checkout-review-order-table .cart_item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; align-items: center; -ms-flex-align: center; gap: 1rem; }
.woocommerce-checkout-review-order-table .cart_item:not(:first-child) { border-top: 1px solid var(--clr-border); padding-top: 1.6rem; }
.woocommerce-checkout-review-order-table .cart_item .product-name { padding: 0 0 0 7rem; border: none; font-size: 1.4rem; }
.woocommerce-checkout-review-order-table .cart_item .product-name img { float: left; width: 6rem; margin-right: 1rem; margin-left: -7rem; }
.woocommerce-checkout-review-order-table .cart_item .product-total { padding: 0; border: none; }

.woocommerce-checkout-review-order-table .cart_item .variation { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0.5rem 0; }
.woocommerce-checkout-review-order-table .cart_item .variation dt { font-weight: 700; font-size: 1.4rem; line-height: 1.25; margin-right: .5rem; }
.woocommerce-checkout-review-order-table .cart_item .variation dd { margin-right: 1rem!important; font-size: 1.4rem; line-height: 1.25; }
.woocommerce-checkout-review-order-table .cart_item .variation dd p { font: inherit; }

.woocommerce-checkout-review-order-table .cart_item .product-total bdi { font-weight: 700; }
.woocommerce-checkout-review-order-table tfoot { font-size: 1.4rem; padding-top: 1.6rem; display: -webkit-box; display: -ms-flexbox; display: flex; flex-direction: column; width: 100%; border-top: 1px solid var(--clr-border); margin-top: 1.6rem; }
.woocommerce-checkout-review-order-table tfoot tr { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.woocommerce-checkout-review-order-table tfoot tr + tr { margin-top: .5rem; }
.woocommerce-checkout-review-order-table tfoot th { padding: 0!important; border: none!important; }
.woocommerce-checkout-review-order-table tfoot td { padding: 0!important; text-align: right; border: none!important; }
.woocommerce-checkout-review-order-table tfoot td * { font-size: 1.4rem!important; font-weight: 400!important; }
.woocommerce-checkout-review-order-table tfoot tr.shipping { display: grid; grid-template-columns: minmax(0, 1fr); }
.woocommerce-checkout-review-order-table tfoot tr.shipping ul { display: flex; column-gap: 1rem; }
.woocommerce-checkout-review-order-table tfoot tr.shipping ul li { width: 100%; margin: 0!important; position: relative; }
.woocommerce-checkout-review-order-table tfoot tr.shipping ul li input { position: absolute; top: 50%; left: 1rem; transform: translateY(-50%); }
.woocommerce-checkout-review-order-table tfoot tr.shipping ul li label { text-align: left; width: 100%; border-radius: .5rem; padding: 1rem 1rem 1rem 3rem; border: 1px solid var(--clr-primary-20); } 
.woocommerce-checkout-review-order-table tfoot tr.shipping ul li:has([type="hidden"]) label { padding: 1rem; }
.woocommerce-checkout-review-order-table tfoot tr.shipping ul li:has([type="hidden"]) label::before { content: ''; display: inline-block; width: 1.2rem; height: 1.2rem; border-radius: 50%; border: 1px solid var(--clr-primary); background-color: var(--clr-primary); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); margin-right: 1rem; }
.woocommerce-checkout-review-order-table tfoot tr.order-total { padding-top: 1.6rem; border-top: 1px solid var(--clr-border); margin-top: 1.6rem; }
.woocommerce-checkout-review-order-table tfoot tr.order-total th { font-size: 2rem!important; font-weight: 700!important; }
.woocommerce-checkout-review-order-table tfoot tr.order-total td * { font-size: 2rem!important; font-weight: 700!important; }
.woocommerce-checkout-review-order-table tfoot tr.order-total td .includes_tax { display: block; width: 100%; }
.woocommerce-checkout-review-order-table tfoot tr.order-total td .includes_tax,
.woocommerce-checkout-review-order-table tfoot tr.order-total td .includes_tax * { font-weight: 400!important; font-size: 1.4rem!important; }

/*** ---------- Checkout - thankyou ---------- ***/
.wpb-order-received-overview .container > * + * { margin-top: 2em; }
.wpb-order-received-overview .woocommerce-order-details:not(.mollie-instructions) { background-color: #fff; padding: 2rem; border-radius: .5rem; }
.wpb-order-received-overview .woocommerce-order-details:not(.mollie-instructions) h2 { font-size: 2rem; }
.wpb-order-received-overview .woocommerce-order-details:not(.mollie-instructions) table { margin: 0; }
.wpb-order-received-overview .woocommerce-customer-details { margin-bottom: 3.2rem; }
.wpb-order-received-overview .woocommerce-customer-details .woocommerce-column { background-color: #fff; padding: 2rem; border-radius: .5rem; }
.wpb-order-received-overview .woocommerce-customer-details .woocommerce-column h2 { font-size: 2rem; } 

.woocommerce-order .text { padding-bottom: 3.2rem; }
.woocommerce-order-overview { --gc: 3; display: -ms-grid; display: grid; -ms-grid-columns: repeat(var(--gc), 1fr); grid-template-columns: repeat(var(--gc), 1fr); gap: 1.6rem; list-style: none; }
.woocommerce-order-overview::after, .woocommerce-order-overview::before { display: none!important; }
.woocommerce-order-overview > li { background-color: #fff; padding: 2.5rem !important; border-radius: .5rem; margin: 0!important; }

.wpb-header.wpb-header--paid .container { display: flex!important; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 3.2rem; }

@media(min-width: 768px) {
    .woocommerce-order-received .woocommerce .woocommerce-notice, .woocommerce-order-received .woocommerce .woocommerce-order-overview, .woocommerce-order-received .woocommerce .woocommerce-info  { grid-column: span 2; }
    .woocommerce-order-received .woocommerce .wpb-header .inner { flex-direction: row;}
}

@media(min-width: 992px) {
    .woocommerce-order-received .woocommerce .woocommerce-order-overview { --gc: 3; }
}

/*** ---------- Checkout - afrekenen ---------- ***/
.woocommerce-order-pay form { --gc: 1; display: -ms-grid; display: grid; -ms-grid-columns: repeat(var(--gc), 1fr); grid-template-columns: repeat(var(--gc), 1fr); -webkit-column-gap: 2.2rem; -moz-column-gap: 2.2rem; column-gap: 2.2rem; row-gap: 2.2rem; -webkit-box-align: start; -ms-flex-align: start; align-items: start; }
.woocommerce-order-pay form ul { list-style: none; }
.woocommerce-order-pay form .woocommerce-terms-and-conditions-wrapper { margin-top: 1em; }
.woocommerce-order-pay form .woocommerce-terms-and-conditions-wrapper *:not(input) { font-size: 1.4rem; }

.wpb-sub-categories { margin-block: 3.2rem; } 
.wpb-sub-categories .title { font-family: var(--font-secondary); font-weight: 700; width: 100%; display: block; }
.wpb-sub-categories .container { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.wpb-sub-categories .sub-category { scroll-snap-align: start; flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 1.8rem; align-items: center; line-height: 1; column-gap: 1.6rem; text-decoration: none; border: 1px solid var(--clr-primary-20); border-radius: .5rem; padding: 1rem 1.6rem; transition-property: background-color, border-color; transition-duration: var(--global-transition-duration); transition-timing-function: var(--global-transition-function); }
.wpb-sub-categories .sub-category .sub-category__text strong { overflow: hidden; text-overflow: ellipsis; display: block; width: 100%; font-size: 1.4rem; line-height: 1.2; font-family: var(--font-secondary); transition: color var(--global-transition-duration) var(--global-transition-function); }
.wpb-sub-categories .sub-category .sub-category__text span { font-size: 1.4rem; opacity: .7; margin-top: .5rem; transition: color var(--global-transition-duration) var(--global-transition-function); }
.wpb-sub-categories .sub-category:hover { background-color: var(--clr-primary); border-color: var(--clr-primary); }
.wpb-sub-categories .sub-category:hover .sub-category__text strong,
.wpb-sub-categories .sub-category:hover .sub-category__text span { color: #fff; }
.wpb-sub-categories .sub-category:hover .wpb-icon { --clr: #fff; }

.wpb-popular-categories { --gc: 1; margin-block: 3.2rem; } 
.wpb-popular-categories .section__header { margin-bottom: 3.2rem; }
.wpb-popular-categories .section__body .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2rem; }
.wpb-popular-categories .wpb-card { z-index: 1; min-height: 11rem; }
.wpb-popular-categories .wpb-card .wpb-card__body { display: flex; flex-direction: column; justify-content: end; align-items: start; gap: 1rem; width: 50%; }
.wpb-popular-categories .wpb-card .btn { font-weight: 600; }    
.wpb-popular-categories .wpb-card .wpb-card__bg-assets img { width: 100%; height: 100%; object-fit: contain; object-position: right; }
.wpb-popular-categories .wpb-card .wpb-card__bg-assets::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.wpb-popular-categories .wpb-card.wpb-bg-clr--primary-5 .wpb-card__bg-assets::before { background: linear-gradient(45deg, var(--clr-primary-5), transparent); }
.wpb-popular-categories .wpb-card .wpb-icon--elektro { position: absolute; top: 0; width: 100%; height: 100%; --h: 100%; --w: 100%; --clr: var(--clr-primary); z-index: -1; }
.wpb-popular-categories .wpb-card .wpb-icon--elektro::after { -webkit-mask-size: 20rem; mask-size: 20rem; -webkit-mask-position: 80% center; mask-position: 80% center; opacity: .05; }
.wpb-popular-categories .wpb-card:nth-child(1) .wpb-icon--elektro { --clr: #fff; } 
.wpb-popular-categories .wpb-card:nth-child(1) .wpb-icon--elektro::after { -webkit-mask-size: 40rem; mask-size: 40rem; -webkit-mask-position: 90% center; mask-position: 90% center; }
.wpb-popular-categories .wpb-card:nth-child(2) .wpb-icon--elektro { display: none; }
.wpb-popular-categories .wpb-card:nth-child(3) .btn,
.wpb-popular-categories .wpb-card:nth-child(4) .btn { --p: 0; min-width: 4.5rem; }
.wpb-popular-categories .wpb-card:nth-child(3) .btn span,
.wpb-popular-categories .wpb-card:nth-child(4) .btn span { display: none; }
.wpb-popular-categories .wpb-card:nth-child(3) .wpb-card__body,
.wpb-popular-categories .wpb-card:nth-child(4) .wpb-card__body { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: end; }

.wpb-popular-products { margin-block: 3.2rem; overflow: clip; } 
.wpb-popular-products .section__header { margin-bottom: -3rem; }
.wpb-popular-products .owl-carousel .owl-nav.disabled { display: flex!important; opacity: 0; pointer-events: none; }
.wpb-popular-products .owl-carousel .owl-stage-outer { overflow: visible; }

.wpb-sale-products { margin-block: 3.2rem; overflow: clip; } 
.wpb-sale-products .section__header { margin-bottom: -3rem; }
.wpb-sale-products .section__header h2 { color: var(--clr-danger); }
.wpb-sale-products .owl-carousel .owl-nav.disabled { display: flex!important; opacity: 0; pointer-events: none; }
.wpb-sale-products .owl-carousel .owl-stage-outer { overflow: visible; }

@media (max-width: 575.98px) {
    .wpb-sub-categories .container { flex-direction: column; gap: 0; }
    .wpb-sub-categories .sub-category { padding: .75rem 1.4rem; border-radius: 0; }
    .wpb-sub-categories .sub-category .wpb-icon { --w: 1.4rem; --h: 1.4rem; }
    .wpb-sub-categories .sub-category:nth-of-type(1) { border-radius: .5rem .5rem 0 0; margin-top: .5rem; }
    .wpb-sub-categories .sub-category:nth-last-of-type(1) { border-radius: 0 0 .5rem .5rem; }
    .wpb-sub-categories .sub-category + .sub-category { border-top: none; }
}

@media (min-width: 768px) {
    .woocommerce-order-pay form { --gc: 2; }

    .wpb-popular-categories { --gc: 2; }
    .wpb-popular-categories .wpb-card:nth-child(1),
    .wpb-popular-categories .wpb-card:nth-child(2) { grid-column: span 2; }
}

@media (min-width: 992px) {
    form.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) minmax(0, 40rem); row-gap: 0; }
    
    .wpb-woocommerce-returning-customer { margin-bottom: 3.2rem; }

    .wpb-sub-categories { --gc: 3; margin-block: 6.4rem; }
    .wpb-sub-categories .title { display: none; }
    .wpb-sub-categories .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); }
    .wpb-sub-categories .sub-category { margin: 0; column-gap: 2rem; padding: 1.6rem 2rem; }
    .wpb-sub-categories .sub-category .sub-category__text strong { font-size: 2rem; }

    .wpb-popular-categories { --gc: 3; margin-block: 6.4rem; } 
    .wpb-popular-categories .wpb-card { --p: 2.4rem; }
    .wpb-popular-categories .wpb-card:nth-child(1),
    .wpb-popular-categories .wpb-card:nth-child(2) { grid-row: span 2; grid-column: span 1; }
    .wpb-popular-categories .wpb-card:nth-child(1) .card-title,
    .wpb-popular-categories .wpb-card:nth-child(2) .card-title { font-size: 2.4rem; }

    .wpb-popular-products { margin-block: 6.4rem; } 

    .wpb-sale-products { margin-block: 6.4rem; } 
}

@media (min-width: 1200px) {    
    .wpb-sub-categories { --gc: 4; }

    .wpb-popular-categories .wpb-card { min-height: 14rem; }
    .wpb-popular-categories .wpb-card:nth-child(1),
    .wpb-popular-categories .wpb-card:nth-child(2) { --p: 3.4rem; }
    .wpb-popular-categories .wpb-card:nth-child(1) .card-title,
    .wpb-popular-categories .wpb-card:nth-child(2) .card-title { font-size: 3rem; }

    .wpb-order-received-overview .woocommerce-order-details:not(.mollie-instructions) { padding: 3.2rem; }
    .wpb-order-received-overview .woocommerce-order-details:not(.mollie-instructions) h2 { font-size: 2.8rem; }
    .wpb-order-received-overview .woocommerce-customer-details { margin-bottom: 8rem; }
}

@media (min-width: 1400px) {
    .wpb-sub-categories { --gc: 5; margin-block: 8rem; }
    .wpb-popular-categories .section__body .container { grid-template-rows: repeat(2, minmax(0, 1fr)) }

    .wpb-popular-categories { margin-block: 8rem; margin-bottom: 10rem; } 

    .wpb-popular-products { margin-block: 10rem; } 

    .wpb-sale-products { margin-block: 10rem; } 
}


/* Archive product
-------------------------------------- */
.wpb-header.wpb-header--archive-product { background-color: var(--clr-primary-5); padding-block: 0; }
.wpb-header.wpb-header--archive-product .wpb-text { padding-block: 3.2rem; }
.wpb-header.wpb-header--archive-product .wpb-text .woocommerce-breadcrumb + h1 { margin-top: 1rem; }

@media (min-width: 992px) {
    .wpb-header.wpb-header--archive-product .container { display: grid; align-items: center; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3.2rem; }
    .wpb-header.wpb-header--archive-product .wpb-text { padding-block: 5.7rem; }
}

@media (min-width: 1200px) {
    .wpb-header.wpb-header--archive-product .container { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); column-gap: 6.4rem; }
}




/* Filters
-------------------------------------- */
.wpb-woocommerce__product-wrapper { margin-block: 3.2rem; }
.wpb-woocommerce__product-wrapper + .wpb-usps { margin-bottom: 3.2rem; }

.wpb-woocommerce__filters { display: flex; flex-direction: column; }
.wpb-woocommerce__filters .wpb-woocommerce__filter-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 2.2rem; }
.wpb-woocommerce__filters .wpb-woocommerce__filter-header h3 { font-weight: 900; }
.wpb-woocommerce__filters .wpb-woocommerce__filter-body { padding: 0 2.2rem; flex-grow: 1; overflow-y: auto; }
.wpb-woocommerce__filters .wpb-woocommerce__filter-footer { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 2.2rem; }
.wpb-woocommerce__filters .wpb-woocommerce__filter-footer button { width: 100%; justify-content: center; }
.wpb-woocommerce__filters { width: 100%; pointer-events: none; background-color: #fff; position: fixed; top: 0; right: auto; bottom: 0; left: 0; transform: translate3d(-100%, 0, 0); z-index: 9999; transition: transform var(--ts-35) ease; }
.wpb-woocommerce__filters.active { pointer-events: all; transform: translate3d(0%, 0, 0); }
.wpb-woocommerce__filters .form-check { display: block; padding-left: 0; }

.wpb-woocommerce__toolbar { display: flex; justify-content: end; align-items: center;flex-wrap: wrap; gap: 1.6rem; margin-bottom: 2.8rem; }
.wpb-woocommerce__toolbar .wpb-woocommerce-filter-toggle { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 500; }

#wux-active-filters{ display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-right: auto; }
#wux-active-filters span { font-size: 1.2rem; border: 1px solid var(--clr-border); color: var(--clr-text); font-weight: 700; padding: .25rem 1rem; border-radius: 5rem; cursor: pointer; transition: border var(--ts-25) ease; }
#wux-active-filters span i{ color: var(--clr-secondary-40); font-size: 1.6rem; transition: color var(--ts-25) ease; }
#wux-active-filters span:hover{ border-color: rgb(var(--clr-secondary-rgb), .3); }
#wux-active-filters span:hover i{ color: var(--clr-danger); }

@media (min-width: 576px) {
    .wpb-woocommerce__filters { max-width: 45rem; }
}

@media (min-width: 992px) {
    .wpb-woocommerce__product-wrapper { margin-top: 5rem; margin-bottom: 8rem; }
    .wpb-woocommerce__product-wrapper + .wpb-usps { margin-bottom: 6.4rem; }
    .wpb-woocommerce__product-wrapper .container { display: grid; grid-template-columns: 27.1rem 1fr; column-gap: 3.2rem; }
    .wpb-woocommerce__filters { max-width: 100%; position: relative; transform: none; pointer-events: all; display: flex!important; transition: none; z-index: 1; }
    .wpb-woocommerce__filters .wpb-woocommerce__filter-header { display: none; }
    .wpb-woocommerce__filters .wpb-woocommerce__filter-body { padding: 0; }
    .wpb-woocommerce__filters .wpb-woocommerce__filter-footer { display: none; }
    .wpb-woocommerce__toolbar { grid-column: span 2; }
    .wpb-woocommerce__toolbar .wpb-woocommerce-filter-toggle { display: none; }
} 

@media (min-width: 1200px) {
    .wpb-woocommerce__toolbar { padding-bottom: 3rem; }

    .wpb-woocommerce__product-wrapper { margin-bottom: 12rem; }
    .wpb-woocommerce__product-wrapper + .wpb-usps { margin-bottom: 10rem; }
} 

/* Product info tabs */
.woocommerce-tabs { margin-bottom: 3.2rem; }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; }
.woocommerce-tabs ul.tabs li a { --p: 0 2rem; min-height: 3.8rem; display: inline-flex; align-items: center; padding: var(--p); border: .1rem solid transparent; border-bottom: 0; text-decoration: none; border-radius: .8rem .8rem 0 0; }
.woocommerce-tabs ul.tabs li.active a { border-color: var(--clr-border); }
.woocommerce-tabs .panel { margin: 0; border: .1rem solid var(--clr-border); padding: 2rem; }  
.woocommerce-tabs h2 { margin-bottom: 1.6rem; }

/* Product up-sell products */
.wpb-woocommerce__up-sells .text { padding-bottom: 3.2rem; }

/* Product related products */
.wpb-woocommerce__related .text { padding-bottom: 3.2rem; }








/* My Account
-------------------------------------- */
body.woocommerce-account h1 { --fs: clamp(3.2rem, 5vw, 4.8rem); } 
body.woocommerce-account h2 { --fs: clamp(2.8rem, 4vw, 3rem); } 

.woocommerce-account__content .container { display: grid; gap: 3.2rem; grid-template-columns: minmax(0, 1fr); align-items: start; }

.woocommerce-account__login h2 { margin-bottom: 2rem; }
.woocommerce-account__login .woocommerce-form-row { margin-top: 2rem; }
.woocommerce-account__login p { font-size: 1.4rem; margin-top: 1em; }  
.woocommerce-account__login p.lost_password { opacity: .7; }
.woocommerce-account__login .form-row { margin-top: 2rem; }
.woocommerce-account__login .woocommerce-form__label-for-checkbox { margin: 0; cursor: pointer; font-size: 1.4rem; }
.woocommerce-account__login .form-row:not(.woocommerce-form-row--wide) { display: flex; justify-content: space-between; align-items: center; }
.woocommerce-account__login .col2-set { --gap: 3.2rem; }  

.woocommerce-account table.my_account_orders { font-size: 1.4rem; margin: 0; }
.woocommerce-account table.my_account_orders thead th { padding-top: 0; }  
.woocommerce-account table.my_account_orders thead th:first-child,
.woocommerce-account table.my_account_orders tbody th:first-child  { padding-left: 0; }
.woocommerce-account table.my_account_orders thead th:last-child, 
.woocommerce-account table.my_account_orders tbody td:last-child { padding-right: 0; }
.woocommerce-account table.my_account_orders tbody tr * { vertical-align: middle; }
.woocommerce-account table.my_account_orders .button { min-height: 3.8rem!important; margin: .5rem 0 .5rem .5rem; }
.woocommerce-account table.my_account_orders .button.cancel { background-color: var(--clr-danger); }

.woocommerce-account .woocommerce-address-fields .form-row,
.woocommerce-account form .woocommerce-form-row:not(.form-row-first),
.woocommerce-account form fieldset,
.woocommerce-account form [type="submit"] { margin-top: 2rem; } 

.woocommerce-account form fieldset { padding: 2rem; border: 1px solid var(--clr-border); border-radius: .5rem; }
.woocommerce-account form fieldset legend + p { margin-top: 0!important; }

.woocommerce-account .woocommerce-Address header { display: flex; font-size: 1.4rem; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.woocommerce-account .woocommerce-Address header h2 { font-size: 2rem; }
.woocommerce-account .woocommerce-Address header a { text-decoration: underline; opacity: .5; }
.woocommerce-account .woocommerce-Address address { padding: 2rem; background-color: #fff; border-radius: .5rem; }

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 2rem!important; }

.woocommerce-ResetPassword .woocommerce-form-row { margin-top: 2rem; }
.woocommerce-ResetPassword [type="submit"] { margin-top: 0!important; }

@media (min-width: 1200px) {
    .woocommerce-account__login .col2-set { --gap: 4.8rem; }  
    .woocommerce-account__login .col2-set .wpb-card.wpb-bg-clr--primary-5 { --p: 2.4rem; }
    .woocommerce-account__content .wpb-card { --p: 2.4rem; }
}

@media (min-width: 1400px) {
    .woocommerce-account__content .wpb-card { --p: 3.2rem; }
}

.woocommerce-account .woocommerce-order-details { margin-top: 2rem; }  
.woocommerce-account .woocommerce-info.mollie-instructions {margin-top: 0 !important;}
.woocommerce-account .woocommerce-Addresses .col-1, .woocommerce-account .woocommerce-Addresses .col-2 { display: flex; flex-direction: column; gap: 18px; }
.woocommerce-account .woocommerce-Addresses h2 { margin-bottom: 1rem; }


/*** ---------- Order tabel ---------- ***/
.woocommerce-order-details .woocommerce-table, .wpb-table .shop_table:not(.shop_table_responsive) { border: 1px solid var(--clr-border); --border-clr: transparent; border-radius: .5rem; border-collapse: separate; }
.woocommerce-order-details .wpb-table { margin-top: 2rem; }
.woocommerce-order-details .woocommerce-table tfoot > tr:not(:last-child), .wpb-table .shop_table tfoot > tr:not(:last-child) { border: transparent; }
.woocommerce-customer-details .woocommerce-column__title, .woocommerce-customer-details { margin-bottom: 2rem; } 

@media(min-width: 768px) {
    .woocommerce-order-details .woocommerce-table tfoot > tr:not(:last-child, :first-child) th, .woocommerce .woocommerce-order-details .woocommerce-table tfoot > tr:not(:last-child, :first-child) td, .wpb-table .shop_table tfoot > tr:not(:last-child, :first-child) th, .wpb-table .shop_table tfoot > tr:not(:last-child, :first-child) td { padding-top: 0; padding-bottom: 0; }
    .woocommerce .woocommerce-order-details .woocommerce-table tfoot > tr:last-child th,.woocommerce-order-details .woocommerce-table tfoot > tr:last-child td,.wpb-table .shop_table tfoot > tr:last-child th,.wpb-table .shop_table tfoot > tr:last-child td {padding-top: 0px;border: transparent !important; }
    .woocommerce .woocommerce-order-details .woocommerce-table tfoot > tr:first-child th, .woocommerce .woocommerce-order-details .woocommerce-table tfoot > tr:first-child td, .wpb-table .shop_table tfoot > tr:first-child th, .wpb-table .shop_table tfoot > tr:first-child td {padding-bottom: 0px;}    
}


/* My account : navigation */
.woocommerce-MyAccount-navigation ul { list-style: none; }
.woocommerce-MyAccount-navigation ul li a { text-decoration: none; padding: 1rem 1.25rem; display: block; border-radius: .5rem; }
.woocommerce-MyAccount-navigation ul li:not([class*="--customer-logout"]).is-active a { background-color: var(--clr-primary-5); }

@media (min-width: 992px) {
    .woocommerce-account__content .container { grid-template-columns: 30rem minmax(0, 1fr); }
}


/*** ---------- WooCommerce payment methods ---------- ***/
body.woocommerce-order-pay .wc_payment_methods { display: flex; flex-direction: column; gap: .8rem; }
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method { position: relative;  display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center;}
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method > label { cursor: pointer; width: 100%; border: 1px solid var(--clr-primary-20); border-radius: .5rem; padding: 1.8rem; display: flex; justify-content: start; align-items: center; gap: 1rem; margin-bottom: 0 !important; transition-property: background-color, border-color; transition-duration: var(--global-transition-duration); transition-timing-function: var(--global-transition-function); }
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method > label img { order: -1; width: auto; }
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method input { position: absolute; right: 2rem; top: 50%; transform: translatey(-50%); }
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method input:checked + label { border-color: var(--clr-primary-20); background-color: var(--clr-primary-20); }
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method input { width: 1.8rem; height: 1.8rem; border: 1px solid #dee2e6; }
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method input::before { content: ""; position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
body.woocommerce-order-pay .wc_payment_methods .wc_payment_method input:checked { border-color: var(--clr-primary); }
body.woocommerce-order-pay table { margin: 0; font-size: 1.4rem; }
body.woocommerce-order-pay .button { width: 100%; min-height: 5.5rem; --bg-clr: var(--clr-success); --hover-bg-clr: var(--clr-success-110); }

body.woocommerce-checkout .wc-payment_methods .wc_payment_method { position: relative; border: 1px solid var(--clr-border); }
body.woocommerce-checkout .wc-payment_methods .wc_payment_method label { flex-direction: row-reverse !important; }

@media(min-width: 992px) {
    body.woocommerce-checkout .woocommerce-order-review { position: sticky; top: 13rem; }
}

@media(min-width: 768px) {
    .wpb-content .wpb-content__footer .inner { justify-content: space-between; flex-direction: row;}
}

@media (min-width: 1200px) {
    .woocommerce-order-pay .wpb-card { --p: 3.2rem; }
}

ul.woocommerce-shipping-methods { list-style: none; }
ul.woocommerce-shipping-methods li { display: flex; align-items: center; justify-content: end; column-gap: .5rem; }
ul.woocommerce-shipping-methods li label { width: auto; cursor: pointer; white-space: nowrap; margin: 0; }
.woocommerce-shipping-destination { display: none; }