/* 
**************
* cart page
**************
*/
/* fix cart page width */
body:has(.wynd-shop-kit) .page-content > .elementor > .elementor-element > .e-con-inner {
    max-width: unset;
}

/* 
**************
* woocommerce notice
**************
*/
.wynd-shop-kit .woocommerce-notices-wrapper:has(.woocommerce-message),
.wynd-shop-kit .woocommerce-notices-wrapper:has(.woocommerce-info),
.wynd-shop-kit .woocommerce-notices-wrapper:has(.woocommerce-error) {
    margin: auto;
    max-width: calc(var(--width-content) + var(--padding-content-xs) * 2);
    padding: var(--padding-content-xs);
    padding-bottom: 0;
}

@media (min-width: 768px) {
    .wynd-shop-kit .woocommerce-notices-wrapper:has(.woocommerce-message),
    .wynd-shop-kit .woocommerce-notices-wrapper:has(.woocommerce-info),
    .wynd-shop-kit .woocommerce-notices-wrapper:has(.woocommerce-error) {
        max-width: calc(var(--width-content) + var(--padding-content-md) * 2);
        padding: var(--padding-content-md);
        padding-bottom: 0;
    }
}

.wynd-shop-kit .woocommerce-message,
.wynd-shop-kit .woocommerce-info,
.wynd-shop-kit .woocommerce-error {
    margin: 0;
}

/* hide cart link when on cart page */
.wynd-shop-kit .woocommerce-message .button.wc-forward {
    display: none;
}

/*
**************
* cart form/table
**************
*/
/* hide table labels */
.wynd-shop-kit .woocommerce-cart-form thead {
    display: none;
}

/* enable product price absolute positioning */
.wynd-shop-kit .woocommerce-cart-form .woocommerce-cart-form__cart-item {
    position: relative;
}

/* product image */
.wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-thumbnail a {
    background: none;
}

.wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-thumbnail img {
    background-color: var(--color-product-image-background);
    border-color: var(--color-input-border);
    border-radius: var(--border-radius-sm) !important;
    border-style: solid;
    border-width: var(--border-width-checkout-product-image);
    height: var(--size-checkout-product-image) !important;
    max-height: var(--size-checkout-product-image);
    max-width: var(--size-checkout-product-image);
    width: var(--size-checkout-product-image) !important;
}

/* product name */
@media (min-width: 768px) {
    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-name {
        padding-top: 2px !important;
    }
}

.wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-name a {
    text-align: left;
}

@media (min-width: 768px) {
    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-name a {
        max-width: 300px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* product price */
.wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-price {
    bottom: 0px;
    column-gap: 6px;
    display: flex;
    flex-wrap: wrap;
    left: calc(var(--size-checkout-product-image) + 16px);
    padding-top: 0;
    position: absolute;
    row-gap: 0;
}

.wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-price .amount,
.wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-price .woocommerce-Price-currencySymbol {
    font-weight: 600 !important;
}

.wynd-shop-kit .woocommerce-cart-form table.shop_table td del,
.wynd-shop-kit .woocommerce-cart-form table.shop_table td del bdi,
.wynd-shop-kit .woocommerce-cart-form table.shop_table td del bdi .woocommerce-Price-currencySymbol {
    color: var(--color-text-secondary) !important;
    font-weight: 600 !important;
}

.wynd-shop-kit .woocommerce-cart-form table.shop_table td ins {
    text-decoration: none;
}

.wynd-shop-kit .woocommerce-cart-form .product-subtotal {
    text-align: right;
}

/* coupon next to price */
.wynd-shop-kit .woocommerce-cart-form table.shop_table.cart .cart_item:has(.product-coupon) .product-name {
    padding-bottom: 44px !important;
}

.wynd-shop-kit .woocommerce-cart-form table.shop_table.cart td.product-price .product-coupon {
    align-items: center;
    color: var(--color-primary-dark);
    display: inline-flex;
    font-family: var(--font-family-body-small);
    font-size: calc(var(--font-size-body-small) - 2px);
    font-style: var(--font-style-body-small);
    font-weight: 600;
    gap: 8px;
    letter-spacing: var(--letter-spacing-body-small);
    line-height: calc(var(--line-height-body-small) - 2px);
    margin-left: 8px;
    text-decoration: var(--text-decoration-body-small);
    text-transform: uppercase;
    vertical-align: middle;
    word-spacing: var(--word-spacing-body-small);
}

@media (min-width: 768px) {
    .wynd-shop-kit .woocommerce-cart-form table.shop_table.cart td.product-price .product-coupon {
        font-size: var(--font-size-body-small);
        line-height: var(--line-height-body-small);
    }
}

/* remove product */
.wynd-shop-kit .woocommerce-cart-form .product-remove .remove {
    align-items: center;
    background: none;
    display: flex !important;
    font-size: var(--font-size-body-small) !important;
    justify-content: flex-end;
}

.wynd-shop-kit .woocommerce-cart-form .product-remove .remove i {
    display: none !important;
}

.wynd-shop-kit .woocommerce-cart-form .product-remove .remove::after {
    color: var(--color-text);
    content: 'Entfernen';
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-body-small);
    line-height: var(--line-height-body-small);
    text-decoration: underline;
    transition: var(--transition-default) all;
}

.wynd-shop-kit .woocommerce-cart-form .product-remove .remove:hover::after {
    color: var(--color-primary-dark);
}

/* coupon */
.wynd-shop-kit .woocommerce-cart-form table.shop_table.cart td.actions .coupon {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-right: auto;
    max-width: 495px;
}

.wynd-shop-kit .woocommerce-cart-form table.shop_table.cart td.actions .coupon::before,
.wynd-shop-kit .woocommerce-cart-form table.shop_table.cart td.actions .coupon::after {
    display: none !important;
}

.wynd-shop-kit .woocommerce-cart-form #coupon_code:focus {
    outline: 1px solid var(--e-global-color-primary);
}

/* configuration products */
.wynd-shop-kit .woocommerce-cart-form .variation {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}

/* desktop only adjustments */
@media (min-width: 768px) {
    .wynd-shop-kit .woocommerce-cart-form table.shop_table.cart td.actions .coupon {
        flex-direction: row;
    }

    .wynd-shop-kit .woocommerce-cart-form .product-thumbnail a {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }

    .wynd-shop-kit .woocommerce-cart-form td.product-thumbnail {
        position: relative;
        padding: 0 !important;
        width: var(--size-checkout-product-image) !important;
    }

    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-name {
        vertical-align: middle;
        padding: 32px 8px 32px 16px;
    }

    .woocommerce-cart .wynd-shop-kit .woocommerce-cart-form table.cart td {
        vertical-align: baseline;
    }
}

/* mobile only adjustments */
@media (max-width: 767px) {
    .wynd-shop-kit .woocommerce-cart-form table.shop_table_responsive,
    .wynd-shop-kit .woocommerce-cart-form table.shop_table_responsive tr {
        display: flex;
        width: 100%;
    }

    .wynd-shop-kit .woocommerce-cart-form table.shop_table_responsive tbody {
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .wynd-shop-kit .woocommerce-cart-form table.shop_table_responsive tr {
        gap: 16px;
    }

    .wynd-shop-kit .woocommerce-cart-form table.shop_table_responsive td {
        padding: 2px 0 !important;
        text-align: left !important;
    }

    .wynd-shop-kit .woocommerce-cart-form table.shop_table_responsive .product-thumbnail {
        width: 64px !important;
    }

    .wynd-shop-kit .woocommerce-cart-form table.shop_table_responsive .product-thumbnail a {
        display: flex;
    }

    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-price {
        bottom: 0;
        left: 80px;
    }

    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-name {
        padding-bottom: 32px !important;
    }

    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-quantity {
        display: flex;
        justify-content: flex-end;
        padding-right: 24px;
    }

    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-quantity .input-text.qty {
        width: 60px;
        padding: 4px !important;
    }

    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-remove {
        top: 46px;
        position: absolute;
        right: 0;
    }

    /* hide product subtotal */
    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-subtotal {
        display: none !important;
    }

    /* hide table labels */
    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-name::before,
    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-price::before,
    .wynd-shop-kit .woocommerce-cart-form .shop_table.cart tr.cart_item td.product-quantity::before {
        display: none;
    }
}

/*
**************
* cart totals
**************
*/
.wynd-shop-kit #cart-totals-container {
    height: fit-content;
    position: sticky;
    top: 108px;
}

.wynd-shop-kit .elementor-widget-jet-cart-totals .elementor-widget-container {
    background-color: var(--color-gray-50);
    border-radius: var(--border-radius-sm);
    height: auto !important;
    padding: 16px 16px 48px 16px;
}

.wynd-shop-kit .cart_totals {
    display: flex;
    flex-direction: column;
}

.wynd-shop-kit .cart_totals h2 {
    font-family: var(--font-family-h6);
    font-size: var(--font-size-h6);
    font-style: var(--font-style-h6);
    font-weight: var(--font-weight-h6);
    letter-spacing: var(--letter-spacing-h6);
    line-height: var(--line-height-h6);
    text-decoration: var(--text-decoration-h6);
    text-transform: var(--text-transform-h6);
    word-spacing: var(--word-spacing-h6);
}

/* table */
.wynd-shop-kit .cart_totals table.shop_table {
    border: none;
}

.wynd-shop-kit .cart_totals .shop_table tr th,
.wynd-shop-kit .cart_totals .shop_table tr td {
    background: none !important;
    border: none;
    font-family: var(--font-family-body-small);
    font-size: var(--font-size-body-small);
    font-style: var(--font-style-body-small);
    font-weight: var(--font-weight-body-small);
    letter-spacing: var(--letter-spacing-body-small);
    line-height: var(--line-height-body-small);
    padding: 12px 8px 0px 0px;
    text-decoration: var(--text-decoration-body-small);
    text-transform: var(--text-transform-body-small);
    word-spacing: var(--word-spacing-body-small);
}

.wynd-shop-kit .cart_totals .shop_table tr th {
    font-weight: 600;
}

.wynd-shop-kit .cart_totals .shop_table tr td {
    text-align: right;
}

/* fix table labels display */
@media (max-width: 767px) {
    .wynd-shop-kit .cart_totals .shop_table_responsive tr td::before {
        content: attr(data-title);
        font-weight: 600 !important;
    }
}

/* coupon */
.wynd-shop-kit .cart_totals .cart-discount th {
    display: flex;
    flex-direction: column;
}

.wynd-shop-kit .cart_totals .cart-discount .coupon-code {
    font-weight: 400;
}

.wynd-shop-kit .cart_totals .cart-discount .woocommerce-remove-coupon {
    font-family: var(--font-family-body-small);
    font-size: var(--font-size-body-small);
    font-style: var(--font-style-body-small);
    font-weight: var(--font-weight-body-small);
    letter-spacing: var(--letter-spacing-body-small);
    line-height: var(--line-height-body-small);
    text-decoration: var(--text-decoration-body-small);
    text-transform: var(--text-transform-body-small);
    word-spacing: var(--word-spacing-body-small);
}

@media (max-width: 767px) {
    .wynd-shop-kit .cart_totals .shop_table_responsive tr.cart-discount {
        display: flex;
        justify-content: space-between;
    }

    .wynd-shop-kit .cart_totals .shop_table_responsive tr.cart-discount td::before {
        display: none;
    }
}

/* shipping methods */
@media (max-width: 767px) {
    .wynd-shop-kit .cart_totals .shipping #shipping_method {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
    }
}

.wynd-shop-kit .cart_totals .shipping #shipping_method li {
    display: flex;
    flex-direction: row-reverse;
    gap: 8px;
    margin: 0;
    min-width: 125px;
    text-align: left;
}

.wynd-shop-kit .cart_totals .shipping #shipping_method li label {
    display: flex;
    min-width: 125px;
}

@media (max-width: 767px) {
    .wynd-shop-kit .cart_totals .shipping #shipping_method li,
    .wynd-shop-kit .cart_totals .shipping #shipping_method li label {
        width: 100%;
    }
}

/* hide shipping method that is not selected */
.wynd-shop-kit .cart_totals .shipping #shipping_method li:has(input[type='radio']):not(:has(input:checked)) {
    display: none;
}

/* hide input radio buttons */
.wynd-shop-kit .cart_totals .shipping #shipping_method li input {
    display: none !important;
}

/* hide shipping method label when it has a price */
.wynd-shop-kit .cart_totals .shipping #shipping_method li label:has(.woocommerce-Price-amount) {
    display: flex;
    flex-direction: column;
    height: 24px;
    visibility: hidden;
}

/* show just the shipping method price */
.wynd-shop-kit .cart_totals .shipping #shipping_method li label .woocommerce-Price-amount {
    visibility: visible;
}

/* hide shipping calculator */
.wynd-shop-kit .cart_totals .shipping .woocommerce-shipping-calculator {
    display: none;
}

.wynd-shop-kit .cart_totals .amount,
.wynd-shop-kit .cart_totals .shipping #shipping_method li label,
.wynd-shop-kit .cart_totals .shipping #shipping_method .amount,
.wynd-shop-kit .cart_totals .shop_table_responsive tr td::before {
    font-family: var(--font-family-body-small);
    font-size: var(--font-size-body-small);
    font-style: var(--font-style-body-small);
    font-weight: var(--font-weight-body-small);
    letter-spacing: var(--letter-spacing-body-small);
    line-height: var(--line-height-body-small);
    text-transform: var(--text-transform-body-small);
    word-spacing: var(--word-spacing-body-small);
}

.wynd-shop-kit .cart_totals .amount,
.wynd-shop-kit .cart_totals .shipping #shipping_method li label,
.wynd-shop-kit .cart_totals .shipping #shipping_method .amount {
    justify-content: flex-end;
    text-align: right;
    width: 100%;
}

/* subtotal and total */
.wynd-shop-kit .cart_totals .shop_table .cart-subtotal th,
.wynd-shop-kit .cart_totals .shop_table .cart-subtotal td,
.wynd-shop-kit .cart_totals .shop_table .order-total th,
.wynd-shop-kit .cart_totals .shop_table .order-total td {
    padding-top: 24px;
    vertical-align: middle;
}

/* total */
.wynd-shop-kit .cart_totals .shop_table tr.order-total th,
.wynd-shop-kit .cart_totals .shop_table tr.order-total td .amount,
.wynd-shop-kit .cart_totals .shop_table tr.order-total td .amount .woocommerce-Price-currencySymbol,
.wynd-shop-kit .cart_totals .shop_table_responsive tr.order-total td::before {
    font-family: var(--font-family-body) !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 22px !important;
    text-transform: none !important;
    word-spacing: 0 !important;
}

/* tax */
.wynd-shop-kit .cart_totals .shop_table tr.order-tax .amount,
.wynd-shop-kit .cart_totals .shop_table tr.order-tax th,
.wynd-shop-kit .cart_totals .shop_table tr.order-tax td {
    font-family: var(--font-family-body-small);
    font-size: var(--font-size-body-small);
    font-style: var(--font-style-body-small);
    font-weight: 400 !important;
    letter-spacing: var(--letter-spacing-body-small);
    line-height: var(--line-height-body-small);
    text-transform: var(--text-transform-body-small);
    word-spacing: var(--word-spacing-body-small);
    padding-top: 0 !important;
}

.wynd-shop-kit .cart_totals .shop_table_responsive tr.order-tax td::before {
    font-weight: 400 !important;
}

/* proceed to checkout button */
.wynd-shop-kit .cart_totals .wc-proceed-to-checkout a.checkout-button {
    margin: 0;
    width: 100%;
}

/* mollie apple pay button */
.wynd-shop-kit .cart_totals #mollie-applepayDirect-button {
    margin-top: 8px;
    order: 99;
    width: 100%;
}

.wynd-shop-kit .cart_totals #mollie_applepay_button {
    height: calc((var(--padding-button-y) * 2) + var(--line-height-button));
}

/* hide apple pay button when not available */
.wynd-shop-kit .cart_totals #mollie-applepayDirect-button:not(:has(#mollie_applepay_button)) {
    display: none;
}

/* payment badges */
.wynd-shop-kit .elementor-element:has(.cart_totals) .payment-badges img {
    border: 1px solid var(--color-input-border);
    border-radius: var(--border-radius-xs);
    max-height: 24px;
}

/*
**************
* free shipping progress
**************
*/
/* hide free shipping progress bar when empty */
.wynd-shop-kit #free-shipping-progress:has(.elementor-shortcode:empty) {
    height: 0;
    position: absolute;
    visibility: hidden;
}

.wynd-shop-kit #wc-free-shipping-progress-bar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wynd-shop-kit #wc-free-shipping-progress-bar__label {
    background-color: var(--color-success-light);
    border-radius: var(--border-radius-sm);
    font-family: var(--font-family-body-small);
    font-size: var(--font-size-body-small);
    font-style: var(--font-style-body-small);
    font-weight: 600;
    line-height: var(--line-height-body-small);
    padding: 12px;
    text-transform: var(--text-transform-body-small);
    text-align: center;
}

.wynd-shop-kit #wc-free-shipping-progress-bar__bar {
    background: var(--color-gray-100);
    border-radius: calc(var(--border-radius-xs) * 100);
    height: 8px;
    overflow: hidden;
    width: 100%;
}

.wynd-shop-kit #wc-free-shipping-progress-bar__progress {
    background: var(--color-success-main);
    border-radius: calc(var(--border-radius-xs) * 100);
    height: 100%;
}
