/* Containers 
-------------------------------------- */
body.woocommerce-page { --wpb-width: 100%; }
body.woocommerce-page .woocommerce, body.woocommerce-page .wp-block-woocommerce-cart, body.woocommerce-page .wp-block-woocommerce-checkout { padding-inline: 2rem; width: 100%; max-width: var(--wpb-width); margin-inline: auto; } 

@media (min-width: 576px) {
    body.woocommerce-page { --wpb-width: var(--container-width--sm); }
}
@media (min-width: 768px) {
    body.woocommerce-page { --wpb-width: var(--container-width--md); }
}
@media (min-width: 992px) {
    body.woocommerce-page { --wpb-width: var(--container-width--lg); }
}
@media (min-width: 1200px) {
    body.woocommerce-page { --wpb-width: var(--container-width--xl); }
}
@media (min-width: 1400px) {
    body.woocommerce-page { --wpb-width: var(--container-width--xxl); }
}
@media (min-width: 1600px) {
    body.woocommerce-page { --wpb-width: var(--container-width--xxxl); }
}

/* 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 { 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!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; }

.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; }

/* 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) }
.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; }
.woocommerce-payment-icons img { width: auto; height: 2.4rem; }

/* Breadcrumbs
-------------------------------------- */
.woocommerce-breadcrumb { --fs: 1.2rem; font-size: var(--fs); display: inline-flex; align-items: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--clr-text); max-width: 100%; }
.woocommerce-breadcrumb > * { font-size: var(--fs); color: rgba(var(--clr-dark-rgb), .6); margin-right: .8rem }
.woocommerce-breadcrumb a { text-decoration: none; }

@media (min-width: 992px) {
    .woocommerce-breadcrumb { --fs: 1.5rem; }
}

/* Quantity select
-------------------------------------- */
.quantity { --size: 4rem; display: inline-flex; border: 1px solid var(--clr-secondary-120); background: #fff; border-radius: .8rem; justify-self: start; overflow: clip; }
.quantity button { width: calc(var(--size) * .7); border: none; background-color: transparent; display: inline-grid; place-items: center; cursor: pointer; transition: background-color var(--ts-15) ease; }  
.quantity button i { font-size: calc(var(--size) * .25); color: var(--clr-dark); pointer-events: none; }
.quantity input { font-size: 1.8rem; font-weight: 600; font: inherit; text-align: center; pointer-events: none; padding: 0!important; -moz-appearance: textfield; border-radius: 0; width: var(--size)!important; min-width: var(--size); height: var(--size); min-height: 0!important; border: 1px solid var(--clr-secondary-120)!important; margin-block: -1px; background-color: transparent; }
.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; }
.quantity button:hover { background-color: var(--clr-secondary-120); }

@media (min-width: 992px) {
    .quantity { --size: 5.4rem; }
}

/* Product price
-------------------------------------- */
.prd-price { line-height: 1.2; margin-top: auto; flex-wrap: wrap; align-items: baseline; column-gap: .3em; }
.prd-price del { display: block; width: 100%; font-size: 1.4rem; }
.prd-price > ins,
.prd-price bdi { text-decoration: none; font-weight: 700; font-size: 2.2rem; }  

/* Stock
-------------------------------------- */
.prd-stock { font-size: 1.4rem; font-weight: 600; }  
.prd-stock.prd-stock--instock { color: var(--clr-success); }
.prd-stock.prd-stock--outofstock { color: var(--clr-danger) }

/* Woocommerce loop
-------------------------------------- */
body.woocommerce-page ul.products { --gc: 1; --gap: 1.6rem; list-style: none; 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) }
body.woocommerce-page ul.products.--loading li.wpb-product { opacity: .75; }
body.woocommerce-page .products.--loading .product * { opacity: 0; } 

@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; }
}

/* Widget cart / mini-cart
-------------------------------------- */
.wpb-cart-button { position: relative; cursor: pointer; }
.wpb-cart-button::after { content: attr(data-count); width: 1.9rem; height: 1.9rem; border-radius: 50%; background-color: var(--clr-primary); color: var(--clr-text); font-size: 1.3rem; line-height: 1.9rem; text-align: center; transition: background-color var(--ts-15) ease, color var(--ts-15) ease; }
.wpb-cart-button:hover::after { background-color: var(--hover-clr); color: var(--hover-bg-clr); }

.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; }

.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: .5rem; }
.product_list_widget::-webkit-scrollbar-track { background: #f2f2f2; }
.product_list_widget::-webkit-scrollbar-thumb { background: var(--clr-border); }

.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__empty-message { padding: 1rem; font-size: 1.6rem; text-align: center; background-color: var(--clr-primary-20); color: var(--clr-primary); }

.woocommerce .widget_shopping_cart .total *, .woocommerce.widget_shopping_cart .total * { font-size: 1.6rem; }

ul#shipping_method { list-style: none; font-size: 1.4rem; padding-left: 1rem; }
ul#shipping_method li { font-size: 1.4rem; display: flex; align-items: center; column-gap: .8rem; }
ul#shipping_method li label { cursor: pointer; margin: 0; }
.woocommerce-shipping-destination { font-size: 1.4rem; padding-left: 1.4rem; }
.woocommerce-shipping-calculator { font-size: 1.4rem; padding-left: 1rem; }
.woocommerce-shipping-calculator [type="submit"] { min-height: 3.7rem; width: 100%; margin-top: 1rem; }
.woocommerce-form__label-for-checkbox { display: flex; align-items: center; column-gap: .8rem; }