/* ----- CART OVERVIEW */
.woocommerce .cart-inner .cart_totals__overview .checkout-button{ width: 100%; justify-content: center; min-height: 5rem; }
.woocommerce .cart-inner .cart_totals__overview,
.woocommerce .woocommerce-checkout-overview .checkout_totals__overview h2{ --fs: 2rem; --lh: 1.2; padding-bottom: .6rem; }
.woocommerce .cart-inner .cart_totals__overview table, 
.woocommerce .woocommerce-checkout-overview .checkout_totals__overview table { 
    --border: 1px solid rgb(var(--wpb-border));
    > * > * > *{ padding: 0; border: none; }
    tr{ display: flex; justify-content: space-between; align-items: center; padding-top: .6rem; }
    tr :is(th, span bdi, span bdi span, span){ font-size: 1.4rem; font-weight: 400; line-height: 1.5; }
    .free_shipping {color: rgba(var(--wpb-green)); font-weight: 600;}
    .coupon-trigger{ --p: 1.2rem; padding-block: var(--p); margin-block: var(--p); border-top: var(--border); border-bottom: var(--border); position: relative; }
    .coupon-trigger .wpb-icon{ display: block; --width: 1.4rem; --height: 1.4rem; --color: var(--wpb-blue); }
    .coupon-trigger .btn-link{ display: flex; font-size: 1.4rem; transition: opacity var(--ts-25) ease; }
    .coupon-trigger .btn-link::before{ content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; }
    .coupon-trigger:hover .btn-link{ opacity: .6; }
    .cart-discount {--p: 1.2rem; padding-bottom: var(--p); border-bottom: var(--border); margin-bottom: var(--p); 
        th { text-align: left; }
        td { text-align: right; }
    }
    .cart-discount .woocommerce-remove-coupon {color: rgba(var(--wpb-red)); font-weight: 500; font-size: 1.4rem;}
    .order-total{ margin-top: .5em; align-items: end; }
    .order-total > *{ line-height: 1; }
    .order-total :is(th){ font-weight: 700; line-height: 1; }
    .order-total :is(span bdi, span bdi span){ font-weight: 700; font-size: 1.8rem; line-height: 1; }
}


/* ----- CART */
.woocommerce-cart-form .cart-icon-wrapper{ --mh: 2.2rem; position: relative; height: var(--mh); 
    &::after { --offset: .9rem; width: auto; min-width: var(--size); padding: 0 .2rem; position: absolute; top: auto; right: auto; left: var(--offset); bottom: var(--offset); border-radius: 3rem; }
    .wpb-icon { --width: 2.9rem; --height: var(--mh); }
}
.woocommerce-cart-form.cart-empty {display: flex; justify-content: center; align-items: center; text-align: center; padding: 8rem 0;}
.woocommerce-cart-form.cart-empty .woocommerce-cart-header {display: flex; row-gap: 1.6rem; flex-direction: column; align-items: center; text-align: center;}
.woocommerce-cart-form.cart-empty .woocommerce-cart-header h1 { font-size: clamp(1.8rem, 3vw, 2rem); display: flex; align-items: center; gap: 1.4rem;}

.woocommerce .cart-inner { --p: 2.4rem; display: grid; grid-template-columns: minmax(0, 1fr); gap: 3.2rem; padding-block: var(--p); }
.woocommerce .cart-inner .woocommerce-cart-header h1 { font-size: clamp(1.8rem, 3vw, 2rem); display: flex; align-items: center; gap: 1.4rem;}
.woocommerce .cart-inner .cart_totals_wrapper .woocommerce-payment-icons{ justify-content: center; margin-top: 1.8rem; }
.woocommerce .cart-inner .cart_totals{ --p: 0; --br: 0; --bg-clr: transparent; border-radius: var(--br); background-color: var(--bg-clr); }
.woocommerce .cart-inner .cart_totals > *{ padding: var(--p); }
.woocommerce .cart-inner .cart_totals__shipping:has(>.free) {display: none; }
.woocommerce .cart-inner .cart_totals__shipping { border-bottom: 3px solid #FFFF;
    --p: 0 0 1.8rem;
    .message { display: flex; align-items: center; gap: 1.2rem; }
    .message .wpb-icon{ --color: var(--wpb-blue); min-width: var(--width); }
    .message p{ font-size: 1.3rem; line-height: 1.4; font-weight: 500; }
    .progress{ --main-color: rgb(var(--wpb-blue)); margin-top: 1.2rem; width: 100%; height: .5rem; background: linear-gradient(to right, var(--main-color), var(--main-color) var(--progress), rgba(234, 234, 234, 1) var(--progress)); border-radius: .8rem; }
}
.woocommerce .cart-inner .cart_totals__overview .wc-proceed-to-checkout{ margin-top: 1.8rem; }

@media (min-width: 768px){
    .woocommerce .cart-inner { --p: 4rem; padding-bottom: 6.4rem; grid-template-columns: minmax(0, 1fr) minmax(0, 30.6rem); }
    .woocommerce .cart-inner .cart_totals{ --p: 2rem; --br: .6rem; --bg-clr: rgb(var(--wpb-light)); }
    .woocommerce .cart-inner .cart_totals__shipping { --p: 1.5rem 2rem 1.8rem; }
    .woocommerce .cart-inner .woocommerce-cart-header{ padding-bottom: 2.2rem; border-bottom: 1px solid rgb(var(--wpb-border)); }
}
@media (min-width: 992px){
    .woocommerce .woocommerce-checkout-overview .checkout_totals__overview{ padding-top: 3.2rem; }
    .woocommerce .cart-inner{ grid-template-columns: minmax(0, 1fr) minmax(0, 34.6rem); gap: 4.8rem; }
}
@media (min-width: 1200px){
    .woocommerce .cart-inner{ grid-template-columns: minmax(0, 1fr) minmax(0, 40.6rem); gap: 6.4rem; }
}


table.cart > * > * > *{ padding: 0; border-bottom: 0; }
table.cart .cart_item{ --border: 1px solid rgb(var(--wpb-border)); --thumbnail-size: 7rem; --gap: 1.6rem; --p: 2rem; display: flex; flex-wrap: wrap; gap: var(--gap); row-gap: 1.2rem; padding-block: var(--p); }
table.cart .cart_item + .cart_item{ border-top: var(--border); }
table.cart .cart_item .product-thumbnail a{ display: block; width: var(--thumbnail-size); min-width: var(--thumbnail-size); height: var(--thumbnail-size); border: var(--border); border-radius: .6rem; }
table.cart .cart_item .product-thumbnail a img{ width: 100%; height: 100%; object-fit: contain; object-position: center; }
table.cart .cart_item .product-meta{ width: calc(100% - var(--thumbnail-size) - var(--gap)); }
table.cart .cart_item .product-meta a{ text-decoration: none; }
table.cart .cart_item .product-meta .product-name{ --fs: clamp(1.4rem, 1.5vw, 1.6rem); --line-clamp: 2; font-size: var(--fs); line-height: 1.2; font-weight: 600; display: -webkit-box; -webkit-line-clamp: var(--line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
table.cart .cart_item .product-meta .prd-sku{ color: rgb(var(--wpb-text-grey)); padding: 1.5px 3px; }
table.cart .cart_item .product-meta__header {margin-bottom: .5rem; line-height: 1;}
table.cart .cart_item .product-controls{ --height: 3.8rem; display: flex; align-items: center; gap: .8rem; }
table.cart .cart_item .product-controls .wpb-quantity{ height: var(--height); }
table.cart .cart_item .product-controls .wpb-quantity > *{ min-height: 100%; }
table.cart .cart_item .product-controls .wpb-quantity .wpb-quantity-btn .wpb-icon{ --width: 1.1rem; --height: 1.1rem; --color: 63, 76, 88, .5; }
table.cart .cart_item .product-controls .wpb-quantity .wpb-quantity-btn:hover .wpb-icon{ --color: 63, 76, 88, 1; }
table.cart .cart_item .product-controls .wpb-quantity input { font-size: 1.4rem; height: auto; width: 2.6rem !important; }
table.cart .cart_item .product-controls .product-remove .btn{ --padding: 0; --icon-size: 1.5rem; --hover-bg-color: 255, 255, 255, 0; --hover-border: 1px solid rgb(var(--wpb-red), .2); width: var(--height); min-width: var(--height); height: var(--height); min-height: var(--height); justify-content: center; }
table.cart .cart_item .product-controls .product-remove .btn .wpb-icon{ --width: var(--icon-size); --height: var(--icon-size); }
table.cart .cart_item .product-controls .product-remove .btn:hover .wpb-icon{ --color: var(--wpb-red); background-color: rgb(var(--color)) !important; }
table.cart .cart_item .product-price{ margin-left: auto; display: flex; flex-direction: column; align-items: end; }
table.cart .cart_item .product-price :is(.on-sale, .on-sale *){ color: rgb(var(--wpb-red)); }
table.cart .cart_item .product-price > span.amount :is(bdi, bdi span){ font-size: 1.4rem; font-weight: 700; line-height: 1; }
table.cart .cart_item .product-price .single-price{ display: flex; align-items: center; justify-content: end; column-gap: .4rem; flex-wrap: wrap; }
table.cart .cart_item .product-price .single-price *{ font-weight: 600; font-size: 1.2rem; line-height: 1.2; }
table.cart .cart_item .product-price .single-price del{ opacity: .5; }
table.cart .cart_item .stock-info-desktop { display: none; }
table.cart .cart_item .stock-info-mobile {margin-top: .8rem;}

.wpb-product-related { position: relative; }
.wpb-product-related h2 { font-size: clamp(1.6rem, 3vw, 2rem); margin-bottom: 1.2rem; }
.wpb-product-related .blaze-track { padding-bottom: .1rem; }
.wpb-product-related .blaze-nav-container { position: absolute; bottom: calc(100% + 1.2rem); right: 0; }
.wpb-product-related .blaze-nav-container span.blaze-prev,
.wpb-product-related .blaze-nav-container span.blaze-next { width: 2.8rem; height: 2.5rem; }
.wpb-product-related .blaze-nav-container span.blaze-prev i,
.wpb-product-related .blaze-nav-container span.blaze-next i { --width: 1rem; --height: 1rem; }  
.wpb-product-related .blaze-nav-container span.blaze-prev { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.wpb-product-related .blaze-nav-container span.blaze-next { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }

.blaze-slider .blaze-nav-container { display: flex; align-items: center; }
.blaze-slider .blaze-nav-container .blaze-prev,
.blaze-slider .blaze-nav-container .blaze-next { cursor: pointer; border: 1px solid rgb(var(--wpb-border)); background-color: #fff; width: 3.2rem; height: 2.8rem; border-radius: 3rem; display: inline-grid; place-items: center; }
.blaze-slider .blaze-nav-container .blaze-prev i,
.blaze-slider .blaze-nav-container .blaze-next i { --width: 1.2rem; --height: 1.2rem; }
.blaze-slider .blaze-nav-container .blaze-prev:hover,
.blaze-slider .blaze-nav-container .blaze-next:hover { background-color: rgb(var(--wpb-blue)); border-color: rgb(var(--wpb-blue)); }
.blaze-slider .blaze-nav-container .blaze-prev:hover i,
.blaze-slider .blaze-nav-container .blaze-next:hover i { --color: 255,255,255; }

.blaze-slider.static .blaze-nav-container .blaze-prev,
.blaze-slider.static .blaze-nav-container .blaze-next,
.blaze-slider.static .blaze-pagination { display: none; }

.wpb-card.wpb-card__upsell { position: relative; display: grid; grid-template-columns: 1fr 2fr; align-items: center; border: 1px solid rgb(var(--wpb-border)); border-radius: .6rem; max-width: 32rem;}
.wpb-card.wpb-card__upsell .wpb-card__header { grid-row: span 2; padding: 1rem; padding-bottom: .2rem;}
.wpb-card.wpb-card__upsell .wpb-card__header img { border-radius: .6rem; } 
.wpb-card.wpb-card__upsell .wpb-card__body { padding: 1rem; }
.wpb-card.wpb-card__upsell .wpb-card__footer { padding: 0 1rem 1rem 1rem; display: flex; align-items: center; justify-content: space-between; grid-column: span 2; }
.wpb-card.wpb-card__upsell .prd-sku { font-size: 1.1rem; padding: .1rem .3rem!important; position: absolute; top: 1rem; left: 1rem; }
.wpb-card.wpb-card__upsell .prd-delivery { margin-bottom: .5rem; }
.wpb-card.wpb-card__upsell .price { line-height: 1; }
.wpb-card.wpb-card__upsell .price strong { display: block; width: 100%; font-size: 1.4rem; }
.wpb-card.wpb-card__upsell .price strong small { display: none; }
.wpb-card.wpb-card__upsell .price :is(small, small *) { font-size: 1.2rem; }
.wpb-card.wpb-card__upsell .price.is-placeholder { display: flex; flex-direction: column; row-gap: .3rem; }
.wpb-card.wpb-card__upsell .price.is-placeholder .large-price-placeholder { width: 6rem; height: 1.8rem; border-radius: .3rem; background-color: rgba(var(--wpb-border)); display: inline-block; }
.wpb-card.wpb-card__upsell .price.is-placeholder .small-price-placeholder { width: 8rem; height: 1.2rem; border-radius: .3rem; background-color: rgba(var(--wpb-border)); display: inline-block; }
.wpb-card.wpb-card__upsell h3 { font-size: 1.3rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;}
.wpb-card.wpb-card__upsell  .wpb-card__footer .wpb-icon__wrapper { border-color: rgb(var(--wpb-blue)); }
.wpb-card.wpb-card__upsell .wpb-card__footer .wpb-icon__wrapper i { background-color: rgb(var(--wpb-blue)); }
.wpb-card.wpb-card__upsell .wpb-card__footer .added_to_cart {display: none;}

.btn__text { color: inherit; font: inherit; display: flex; align-items: center; column-gap: .8rem; }
.btn__text--added { display: none; }
.added {
    .btn__text--default { display: none;
    }
    .btn__text--added { display: flex;
    }
}

.blaze-slider.blaze-slider--cross-sells { --slides-to-show: 1.3!important; --slide-gap: 8px; }

@media (max-width: 575.98px) {
    .wpb-product-related { margin-inline: calc(var(--wpb-padding) * -1); padding-inline: 1.8rem; padding-block: 2rem; overflow: clip; background-color: rgba(var(--wpb-light));}
    .wpb-card.wpb-card__upsell {border: none;}
    .wpb-product-related .blaze-track-container { overflow: visible; }
}

@media (min-width: 768px){
    table.cart .cart_item{ --thumbnail-size: 9.4rem; }
    table.cart .cart_item + .cart_item{ padding-top: 0; border-top: 0; }
    table.cart .cart_item .product-price > span.amount :is(bdi, bdi span){ font-size: 1.8rem; }
    table.cart .cart_item .product-price .single-price *{ font-size: 1.3rem; }
    .wpb-product-related h2 {margin-bottom: 1.6rem; }
}

@media (min-width: 992px){
    table.cart .cart_item .product-meta__header {display: flex; align-items: center; column-gap: 1.2rem; margin-bottom: .8rem;}
    table.cart .cart_item .stock-info-desktop { display: inline-block; }
    table.cart .cart_item .stock-info-mobile { display: none; }
}

@media (min-width: 1200px){
    table.cart .cart_item{ --p: 2.4rem; display: grid; grid-template-columns: var(--thumbnail-size) 1fr auto; }
    table.cart .cart_item .product-thumbnail{ grid-row: span 2; display: flex; align-items: end; }
    table.cart .cart_item .product-meta .product-name{ --line-clamp: 1; }
    table.cart .cart_item .product-meta{ width: 100%; }
    table.cart .cart_item .product-controls{ grid-column: 2; }
    table.cart .cart_item .product-price{ grid-column: 3; grid-row: 1; }
}

/* CHECKOUT */
.woocommerce-NoticeGroup-checkout:has(.woocommerce-notices-wrapper),
.woocommerce-checkout__messages:has(.woocommerce-notices-wrapper) {display: block;}
.woocommerce-NoticeGroup-checkout,
.woocommerce-checkout__messages {display: none; position: fixed; padding: 2.4rem 0; z-index: 999; top: 0; left: 0; right: 0; background-color: rgba(var(--wpb-light-red));}
.woocommerce-notices-wrapper { position: relative; }
.woocommerce-notices-wrapper .custom-notice-header {display: flex; align-items: center; column-gap: .8rem; font-size: 1.6rem; font-weight: 500; line-height: 1; color: rgba(var(--wpb-headings));}
.woocommerce-notices-wrapper .custom-notice-items {padding-left: 2.4rem; padding-top: 1.4rem;
    .btn.btn-link { font-size: var(--global-fs); line-height: var(--global-lh); color: rgb(var(--wpb-text)); text-decoration: underline; font-weight: 400; }
}
.woocommerce-notices-wrapper .custom-notice-items .custom-notice-item {display: flex; align-items: center; column-gap: .6rem;}
.woocommerce-notices-wrapper .custom-notice-items .custom-notice-item .wpb-icon {--color: var(--wpb-text); --width: 1.3rem; --height: 1.3rem;}
.woocommerce-notices-wrapper .js-close-notice {position: absolute; top: 0; right: 0; cursor: pointer; --color: var(--wpb-headings); --width: 2.2rem; --height: 2.2rem;}
.woocommerce-NoticeGroup-checkout > div { max-width: var(--wpb-width); margin: 0 auto; padding: 0 var(--wpb-padding); }

@media (min-width: 992px){
    .woocommerce-NoticeGroup-checkout,
    .woocommerce-checkout__messages{ top: auto; bottom: 0; }
}


.woocommerce-checkout__wrapper.--has-errors {display: flex; justify-content: center; align-items: center; text-align: center; padding: 8rem 0;}
.woocommerce-checkout__wrapper.--has-errors .btn {margin-top: 1.8rem;}

.woocommerce-checkout__wrapper .woocommerce-checkout { display: grid; gap: 0; }
.woocommerce-checkout__wrapper .woocommerce-checkout__main { --p: 2.4rem; display: flex; flex-direction: column; row-gap: 3.2rem; padding-bottom: var(--p);

    .woocommerce-checkout-section--header .btn-link { color: rgba(var(--wpb-text));}
    .woocommerce-checkout-section--header .btn-link .wpb-icon {--color: var(--wpb-text); --width: 1.4rem; --height: 1.4rem; }
    .woocommerce-checkout-section--contact-info p:has([data-target="#wc-login-modal"]){ --fs: 1.4rem; display: flex; align-items: center; gap: .4rem; font-size: var(--fs); padding-top: .8rem; }
    .woocommerce-checkout-section--contact-info p:has([data-target="#wc-login-modal"]) span{ font-size: var(--fs); text-decoration: underline; }
    .woocommerce-checkout-section--contact-info .form-row.validate-email { display: flex; flex-direction: row; flex-wrap: wrap; max-width: 44rem; }

    .woocommerce-input-wrapper {position: relative;}
    .woocommerce-input-wrapper:has(input[type="checkbox"]){ display: block; margin-top: 1.2rem;}
    .woocommerce-input-wrapper:has(input[type="checkbox"]) label{ display: flex; align-items: center; gap: .6rem; font-size: 1.4rem; cursor: pointer; --check-src: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
        input{ --size: 1.8rem; appearance: none; -webkit-appearance: none; -moz-appearance: none; width: var(--size); height: var(--size); min-width: var(--size); border: 1px solid rgb(var(--wpb-border)) !important; border-radius: .4rem; background-image: var(--check-src); background-size: cover; transition: background-color var(--ts-25) ease, border-color var(--ts-25) ease;
            &:checked{ border-color: rgb(var(--wpb-blue)); background-color: rgb(var(--wpb-blue)); }
        }
        .optional{ display: none; }
    }
    
    .woocommerce-checkout-section__header{ padding-bottom: 1.8rem; }
    .woocommerce-checkout-section__header h2{ --fs: 2rem; }
    .woocommerce-checkout-section__footer{ padding-top: 1.2rem; }
    .woocommerce-checkout-section__footer .btn-link{ --main-color: var(--wpb-blue); --color: var(--main-color); --hover-color: var(--wpb-blue), .6; font-size: 1.4rem; column-gap: .4rem; }
    .woocommerce-checkout-section__footer .btn-link .wpb-icon{ --color: var(--main-color); --width: 1.2rem; --height: 1.2rem; }

    .woocommerce-checkout__fields {display: grid; column-gap: 1.2rem; row-gap: 1.8rem;}

    .form-row:has(input:not([type="checkbox"], [type="radio"]), textarea, select){
        > *{ display: block; }  
        .woocommerce-input-wrapper{ width: 100%; }
        .woocommerce-input-wrapper input, .woocommerce-input-wrapper textarea, .woocommerce-input-wrapper select,
        .woocommerce-input-wrapper .select2-container .select2-selection--single{ --mh: 5rem; --fs: 1.4rem; --p: 1.6rem; --border: 1px solid rgb(var(--wpb-border)); --br: .6rem; font-size: var(--fs); min-height: var(--mh); padding: 0 var(--p); border: var(--border); border-radius: var(--br); width: 100%; transition: border-color var(--ts-25) ease;
            &:is(:focus, :focus-within){ outline: none !important; border-width: 2px; border-color: rgb(var(--wpb-blue)); }
        }
        &:is(.woocommerce-invalid, .woocommerce-invalid-required-field) .woocommerce-input-wrapper input {border-color: rgba(var(--wpb-red)); border-width: 2px;}
        .woocommerce-input-wrapper textarea{ padding: 1rem var(--p); min-height: 18rem; }
        .woocommerce-input-wrapper .select2-container .select2-selection--single{ display: flex; align-items: center; }
        .woocommerce-input-wrapper .select2-container .select2-selection--single .select2-selection__rendered{ font-size: var(--fs); }
        .woocommerce-input-wrapper .select2-container .select2-selection--single .select2-selection__arrow b{ width: 1.4rem; height: 1.2rem; }
        label{ --fs: 1.3rem; font-size: var(--fs); font-weight: 600; line-height: 1.2; padding-bottom: .8rem; display: flex; align-items: center; }
        label .required{ line-height: 1; font-size: var(--fs); }
        label .optional{ display: none !important; }
    } 
    
    #billing_address_1_field .woocommerce-input-wrapper::after {content: ''; mask-image: url('/wp-content/themes/wux/assets/icons/default/icon_search.svg'); -webkit-mask-image: url('/wp-content/themes/wux/assets/icons/default/icon_search.svg'); width: 1.4rem; height: 1.4rem; position: absolute; top: 50%; right: 1.8rem; transform: translateY(-50%); background-color: rgba(var(--wpb-headings), .65); }

    .wux-address-suggestions {
        display: none; padding: 1rem 0; margin-top: .4rem; position: absolute; top: 100%; left: 0; right: 0; z-index: 10; background-color: #fff; border: 1px solid rgb(var(--wpb-border)); border-radius: .6rem; box-shadow: 0 4px 8px rgba(var(--wpb-dark), .1);
        .wux-suggestion-item {
            padding: 1rem 1.6rem; cursor: pointer; font-weight: 500;
            &:hover { background-color: rgba(var(--wpb-light)); }
        }
        &.is-visible { display: block; }
    }

    button[type="submit"]{display: flex!important; width: 100%; min-height: 5rem; justify-content: center; font-size: 1.5rem; }
}

.woocommerce-shipping-methods { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); 
    li label { --br: .6rem; --fs: 1.4rem; --border: 1px solid rgba(var(--wpb-border)); padding: 1.6rem; border: var(--border); width: 100%; height: 100%; cursor: pointer; }
    li + li label{ border-left: none; }
    li:first-child label{ border-top-left-radius: var(--br); border-bottom-left-radius: var(--br); }
    li:last-child label{ border-top-right-radius: var(--br); border-bottom-right-radius: var(--br); }
    li label .method-header {display: flex; align-items: center; gap: 0.6rem;}
    li label .method-header .method-title { display: flex; align-items: center; justify-content: space-between; width: 100%; font-size: var(--fs); font-weight: 700; line-height: 1; gap: .6rem; }
    li label .method-header .method-cost{ text-wrap: nowrap; line-height: 1; font-size: var(--fs);
        &.is-free{ color: rgb(var(--wpb-green)); }
        bdi, bdi span{ line-height: 1; }
    }
    li label .method-header > .marker { display: inline-block; width: 1.6rem; min-width: 1.6rem; height: 1.6rem; border-radius: 50%; background-color: #fff; border: 5px solid transparent; outline: var(--border); outline-offset: -1px; transition: border-color var(--ts-25) ease, outline var(--ts-25) ease; }
    li label:hover .method-header > .marker{ outline-color: rgba(var(--wpb-dark), .2); }
    li label .method-body {margin-top: .8rem;}
    li label .method-body .description{ line-height: 1.4; font-size: var(--fs); }
    li input {display: none;}
    li input:checked + label .method-header > .marker { border-color: rgba(var(--wpb-blue)); outline-color: transparent; }
}

.woocommerce-checkout__wrapper .woocommerce-checkout__aside {padding-block: 2.4rem;}
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .woocommerce-checkout-overview {position: sticky; top: 1.8rem;}
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products{ --data-count-size: 1.6rem; max-height: 52rem; overflow-x: hidden; margin-left: calc(-1 * (var(--data-count-size) / 2)); padding-top: calc(var(--data-count-size) / 2); }
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products .cart_item {display: flex; align-items: center; gap: 1.2rem; padding-left: calc(var(--data-count-size) / 2); }
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products .cart_item + .cart_item{ padding-top: 2rem; }
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products .cart_item .product-thumbnail{ --size: 7rem; position: relative; width: var(--size); min-width: var(--size); height: var(--size); border: 1px solid rgb(var(--wpb-border)); border-radius: .6rem; 
    &::before{ content: attr(data-quantity); position: absolute; top: calc(-1 * (var(--data-count-size) / 2)); left: calc(-1 * (var(--data-count-size) / 2)); width: var(--data-count-size); height: var(--data-count-size); min-width: var(--data-count-size); min-height: var(--data-count-size); line-height: 0; border-radius: 50%; background-color: rgb(var(--wpb-blue)); color: #FFFF; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 700; }
    img{ width: 100%; height: 100%; object-fit: contain; object-position: center; }
}
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products .cart_item .prd-sku{ color: rgb(var(--wpb-text-grey)); padding: 1.5px 3px; }
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products .cart_item .product-price{ padding-top: .1em; display: flex; align-items: center; gap: .6rem;
    span, span bdi{ font-weight: 500; font-size: 1.4rem; }
    del{ opacity: .5; line-height: 1; }
    & > span.amount *{ font-weight: 700; }
    & :is(.on-sale, .on-sale *){ color: rgb(var(--wpb-red)); }
}
.woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products .cart_item .product-name { --line-clamp: 2; font-size: 1.3rem; font-weight: 600; line-height: 1.2; margin-top: .3rem; display: -webkit-box; -webkit-line-clamp: var(--line-clamp); -webkit-box-orient: vertical; overflow: hidden;}

.woocommerce-checkout-place-order label.checkbox { padding-left: 2.3rem; }
.woocommerce-checkout-place-order .checkout-links-container {padding-top: 2rem;}
.woocommerce-checkout-place-order .checkout-links-container .menu {list-style: none; display: flex; flex-wrap: wrap; gap: 1.6rem;}
.woocommerce-checkout-place-order .checkout-links-container .menu a {font-size: 1.3rem; font-weight: 600;}

.form-row.place-order .woocommerce-form__label.woocommerce-form__label-for-checkbox {margin-bottom: 1rem;}
.form-row.place-order .woocommerce-form__label.woocommerce-form__label-for-checkbox .woocommerce-form__input {margin-right: .6rem; }
.form-row.place-order .woocommerce-form__label.woocommerce-form__label-for-checkbox .woocommerce-terms-and-conditions-checkbox-text {padding-top: .2rem; font-weight: 500;}
.form-row.woocommerce-invalid .woocommerce-form__label.woocommerce-form__label-for-checkbox .woocommerce-terms-and-conditions-checkbox-text {color: rgba(var(--wpb-red));}
.form-row.woocommerce-invalid .woocommerce-form__label.woocommerce-form__label-for-checkbox input {border-color: rgba(var(--wpb-red)); border-width: 2px;}

@media (max-width: 575.98px){
    .woocommerce-shipping-methods{ grid-template-columns: repeat(1, 1fr); 
        & li + li label{ border-left: var(--border); border-top: none; }
        & li:first-child label{ border-bottom-left-radius: 0; border-top-right-radius: var(--br); }
        & li:last-child label{ border-top-right-radius: 0; border-bottom-left-radius: var(--br); }
    }
}
@media (max-width: 991.98px){
    .form-row.place-order .woocommerce-form__label.woocommerce-form__label-for-checkbox {margin-top: 2rem;}
    .woocommerce-checkout__wrapper .woocommerce-checkout__main {padding-top: 2.8rem; padding-bottom: 1.2rem;
        & .woocommerce-checkout-section__header{ padding-bottom: 1.4rem; }
        & .form-row:has(input:not([type="checkbox"], [type="radio"]), textarea, select){
            .woocommerce-input-wrapper input, 
            .woocommerce-input-wrapper textarea, 
            .woocommerce-input-wrapper .select2-container .select2-selection--single{ --fs: 1.6rem;}
        } 
    }
    .woocommerce-checkout__wrapper .woocommerce-checkout__main .woocommerce-checkout-place-order { display: none; }
    .woocommerce-checkout__wrapper .woocommerce-checkout__aside { padding-bottom: 4rem; padding-top: 1.8rem; }
    .woocommerce-checkout__wrapper .woocommerce-checkout__aside .checkout_totals_products{ display: none; }
    .woocommerce-checkout__wrapper .woocommerce-checkout__aside .woocommerce-checkout-place-order .btn-large { width: 100%; justify-content: center; min-height: 5rem; margin-top: 1rem; }
}

@media(min-width: 576px){
    .woocommerce-checkout__wrapper .woocommerce-checkout { gap: 3.2rem; }
    .woocommerce-checkout__wrapper .woocommerce-checkout__main .woocommerce-checkout__fields{ grid-template-columns: repeat(2, 1fr); }
    .woocommerce-checkout__wrapper .woocommerce-checkout__main .woocommerce-checkout__fields .form-row#order_comments_field{ grid-column: span 2; }
}
@media(min-width: 768px){
    .woocommerce-checkout__wrapper .woocommerce-checkout__main .woocommerce-checkout__fields{ column-gap: 2.4rem }
}
@media (min-width: 992px){
    .woocommerce-checkout__wrapper .woocommerce-checkout__aside .woocommerce-checkout-place-order { display: none; }
    .woocommerce-checkout__wrapper .woocommerce-checkout{ grid-template-columns: 1fr 36rem; }
    .woocommerce-checkout__wrapper .woocommerce-checkout__main{ padding-top: 3.2rem; padding-right: var(--p); border-right: 1px solid rgb(var(--wpb-border)); }
}
@media (min-width: 1200px){
    .woocommerce-checkout__wrapper .woocommerce-checkout__main{ --p: 4.8rem; }
}


/* SHIPPING ADDRESS TOGGLE */
.woocommerce-checkout-section--shipping-info {
    input#ship-to-different-address-checkbox { display: none; }
    .woocommerce-checkout-section__body .woocommerce-checkout__fields { display: none; }
    .ship-to-different-address-toggle-wrapper .is-enabled { display: none; }
    &:has(#ship-to-different-address-checkbox:checked) {
        .woocommerce-checkout__fields { display: grid; padding-bottom: 1.8rem; }
        .ship-to-different-address-toggle-wrapper {
            .is-enabled { display: flex; }   
            .is-disabled { display: none; }   
        }
    }
}

/* PAYMENT METHODS */
.woocommerce-order-pay {max-width: 900px; margin: 0 auto;}
.woocommerce-order-pay #payment{
    .payment_method_wux_mollie > label { display: none; }
    ul { padding: 0; display: grid; gap: .6rem; list-style: none; border-radius: .6rem; }
    ul li input { width: 0; height: 0; opacity: 0; position: absolute; left: -999rem; }
    ul li label { --border: 1px solid rgba(var(--wpb-border)); --fs: 1.4rem; cursor: pointer; position: relative; display: flex; align-items: center; gap: 1rem; font-size: var(--fs); font-weight: 600; padding: 0 1.5rem; min-height: 5rem; border-radius: .6rem; border: 1px solid rgba(var(--wpb-border-color)); transition: border-color var(--ts-25) ease;  }
    ul li label .inner { font-size: var(--fs); display: flex; align-items: center; justify-content: space-between; width: 100%;}
    ul li label > .marker { display: inline-block; width: 1.6rem; min-width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 5px solid transparent; outline: var(--border); outline-offset: -1px; transition: border-color var(--ts-25) ease, outline var(--ts-25) ease; }
    ul li label :is(img, svg) { height: 2.8rem; width: auto; }
    ul li label:hover { border-color: rgb(var(--wpb-dark), .6); }
    ul li input:checked + label { color: rgba(var(--wpb-blue)); border-color: rgba(var(--wpb-primary)); background-color: rgba(var(--wpb-primary),.15); }
    ul li input:checked + label > .marker { border: .5rem solid rgba(var(--wpb-blue)); outline-color: transparent; }
    > ul > li.payment_method_wux_mollie > label { border: none;}
    ul::before, .woocommerce-order-pay #payment ul::after { display: none; }
    .payment_box { padding: 0; }
    .payment_box p { font-size: 1.6rem; font-weight: 600; color: rgb(var(--wpb-headings)); display: block; margin-bottom: .5rem; }
    .payment_box p.mollie-components-description { color: rgb(var(--wpb-green)); }
    .payment_box select { width: 100%; border-radius: 0.6rem; border: 1px solid rgb(var(--wpb-border)); min-height: 4rem; padding: 0 1.7rem 0 1.7rem; }
    .payment_box select:focus { outline: none; }
    [type="submit"] { width: 100%; --bg-color: var(--wpb-green); --border: 1px solid rgb(var(--wpb-green)); --color: 255, 255, 255; --hover-bg-color: var(--wpb-dark); --hover-border: 1px solid rgb(var(--wpb-dark)); }
}

@media (min-width: 768px){
    .woocommerce-order-pay #payment ul.wux-mollie-methods{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}



/* Modals */
.modal.woocommerce-coupon-modal{
    & .modal-title{ --fs: clamp(1.8rem, 2vw, 2.4rem); }
    & .modal-dialog__header{ padding-block: var(--modal-padding); }
    & .modal-dialog__header .js-close-modal{ --size: 3.2rem; --padding: 0; min-height: var(--size); width: var(--size); justify-content: center; }
    & .modal-dialog__body{ display: grid!important; grid-template-columns: 1fr auto; gap: .8rem; 
        .woocommerce-form-coupon__message { grid-column: span 2; }
    }
    & .modal-dialog__body input{ width: 100%; min-height: 5rem; font-size: 1.6rem; padding: 0 1.2rem; border: 1px solid rgb(var(--wpb-border)); border-radius: .6rem; transition: border-color var(--ts-25) ease; }
    & .modal-dialog__body input:is(:focus, :focus-within){ outline: none !important; border-color: rgb(var(--wpb-dark), .5); }
    & .modal-dialog__body .btn { white-space:nowrap; text-wrap: nowrap; justify-content: center; min-height: 4.8rem; }   
}
.modal.modal--wc-login{
    & .modal-title{ --fs: clamp(1.8rem, 2vw, 2.4rem); }
    & .modal-dialog__header{ padding-block: var(--modal-padding); }
    & .modal-dialog__header .js-close-modal{ --size: 3.2rem; --padding: 0; min-height: var(--size); width: var(--size); justify-content: center; }
    & form{ display: flex; flex-direction: column; }
    & form button[type="submit"]{ width: fit-content; }
    & form input:is([type="text"], [type="password"]){ width: 100%; min-height: 5rem; padding: 0 1.2rem; border: 1px solid rgb(var(--wpb-border)); border-radius: .6rem; transition: border-color var(--ts-25) ease; 
        &:is(:focus, :focus-within){ outline: none !important; border-color: rgb(var(--wpb-dark), .5); }
    }
    & form .form-row label{ font-weight: 700; padding-bottom: .4rem; font-size: 1.4rem; }
    & form .form-row .woocommerce-form-login__rememberme{ display: flex; align-items: center; gap: .6rem; margin-bottom: 1.8rem; padding-top: .8rem; cursor: pointer; }
    & form .form-row .woocommerce-form-login__rememberme span{ font-weight: 500; font-size: 1.4rem; padding-top: .2em; }
    & form .form-row + .form-row{ padding-top: 1.2rem; }
    & form .show-password-input{ display: none; }
    & form .lost_password{ padding-top: 1.2rem; }
}

@media (max-width: 420px){
    .modal.woocommerce-coupon-modal {
        .modal-dialog__body{ display: flex!important; flex-direction: column;
            button{ width: 100%; }
        }
    }
}

#billing_eu_vat_progress {font-size: 1.3rem;}
#billing_eu_vat_progress.--invalid {color: rgb(var(--wpb-red));}
#billing_eu_vat_progress.--valid {color: rgb(var(--wpb-green));}

.prd-stock-info .prd-delivery, .prd-stock-info .prd-stock-info__days { line-height: 1; display: flex; align-items: center; column-gap: .5rem; color: rgb(var(--clr)); font-size: 1.1rem; font-weight: 600; }
.prd-stock-info .prd-stock-info__days .wpb-icon.wpb-icon__van { --color: var(--clr); --width: 1rem; --height: 1rem; min-width: 1rem; }
.prd-stock-info .prd-delivery__indicator { display: flex; width: 4.4rem; column-gap: .1rem; }
.prd-stock-info .prd-delivery__indicator span { width: 100%; height: .4rem; border-radius: 1.4rem; background-color: rgb(var(--clr)); }
.prd-stock-info.--green { --clr: var(--wpb-green); }
.prd-stock-info.--orange { --clr: var(--wpb-orange); }
.prd-stock-info.--orange .prd-delivery__indicator span:nth-of-type(3) { background-color: #DDDFE3; }
.prd-stock-info.--low { --clr: var(--wpb-green); }
.prd-stock-info.--low .prd-delivery__indicator span:nth-of-type(3) { background-color: #DDDFE3; }
.prd-stock-info.--red { --clr: var(--wpb-red); }
.prd-stock-info.--red .prd-delivery__indicator span:nth-of-type(2)
.prd-stock-info.--red .prd-delivery__indicator span:nth-of-type(3) { background-color: #DDDFE3; }

@media (min-width: 992px){
    .prd-stock-info .prd-delivery, .prd-stock-info .prd-stock-info__days {font-size: 1.2rem;}
}

#billing_customer_type_field > label { --fs: 1.3rem; font-size: var(--fs); font-weight: 600; line-height: 1.2; padding-bottom: .6rem; display: flex; align-items: center;}
#billing_customer_type_field > .woocommerce-input-wrapper {display: flex; align-items: center;}
#billing_customer_type_field > .woocommerce-input-wrapper > input {cursor: pointer;}
#billing_customer_type_field > .woocommerce-input-wrapper > label { font-size: 1.4rem; font-weight: 500; color: rgb(var(--wpb-headings)); cursor: pointer; }
#billing_customer_type_field > .woocommerce-input-wrapper > label .required { display: none; }
#billing_customer_type_field > .woocommerce-input-wrapper > label + input {margin-left: 12px;}
#billing_customer_type_field > .woocommerce-input-wrapper > input + label {margin-left: 4px;} 

@media (min-width: 576px){
    #billing_customer_type_field { grid-column: span 2; }
}