/*
################
* === Cart  ===
################
*/

:root :where(.wp-block-woocommerce-cart) {
    .wc-block-cart {
        row-gap: 40px;

        @media (min-width:1024px) {
            display: grid;
            column-gap: 30px;
            row-gap: 30px;

            grid-template-columns: repeat(12, minmax(0, 1fr));
            
            .woocommerce-notices-wrapper {
                grid-column: span 12 / span 12;
            }
    
            .woocommerce-cart-form,  
            .cross-sells,
            .wc-block-cart__main {
                grid-column: span 8 / span 8;
            }
    
            .cart-collaterals,
            .wc-block-cart__sidebar {
                grid-column: span 4 / span 4;
            }
        }

        @media (min-width:1200px) {
            column-gap: 76px;
        }

    }

    .wp-block-woocommerce-cart-cross-sells-block {  
        > div {
            gap:30px;
        } 

        .cross-sells-product {
            display: grid;
            transition: .3s ease-in-out;
            position: relative;
            border-width: 0;
            padding-right: 0;

            &::after {
                content: "";
                position: absolute;
                height: 20px;
                display: block;
                width: 100%;
                top: 100%;
            }


            .price,
            div .wc-block-components-product-name {
                text-align: left;
            }

            .wp-block-cart-cross-sells-product__product-title a {
                color: var(--wp--preset--color--primary);
                font-weight: 500;
            }

            .price {
                display: flex !important;
            }

            .wp-block-cart-cross-sells-product__product-onsale {
                margin-bottom: 0 !important;
            }

             .wc-block-components-product-button__button {
                width: auto;
                margin-bottom: 0px;
                position: relative;
                align-items: center;
                justify-content: center;
                gap: 8px;
                font-size: 14px !important;
                background-color: var(--wp--preset--color--white);
                color: var(--wp--preset--color--primary);
                flex-flow: row-reverse;
                padding: 13px 30px;
                border-radius: 120px;
                box-shadow: none;/*0 0 4px 0 rgba(32, 55, 55, 0.07);*/
                display: none;
                transition: .3s ease-in-out;
                text-align: center;
                border-width:0;

                &:is(:hover,:focus) {
                    background-color: var(--wp--preset--color--primary);
                    text-indent: 0;
                    color: var(--wp--preset--color--white);
                    padding: 13px 30px;
                    z-index: 1;
                    transition: all .1s ease-in-out 0s;
                }
                
            }

            &:hover,
            &:focus {
                .wc-block-components-product-button__button {
                    position: absolute;
                    z-index: 2;
                    transition: .3s ease-in-out;
                    width: calc(100% - 20px);
                    top: 277px;
                    left: 50%;
                    transform: translate(-50%, -50%);

                    @media (min-width:1200px) {
                        display: block;
                        animation: fadeIn .2s;
                        animation-fill-mode: forwards;
                    }
                }
            }

            .wc-block-components-product-rating {
                display: none;
            }

            .wp-block-button {
                align-items: flex-start;
            }
        }
    }

    .wc-block-components-sidebar-layout {
        .wc-block-components-sidebar,
        .wc-block-components-main {
            width: 100%;
            padding: 0;
        }
    }

    .wc-block-cart .wc-block-cart__sidebar {
        border: 1px solid var(--wp--preset--color--border);
        padding: 39px;
        border-radius: 16px;
        height: fit-content;


        .wc-block-components-text-input {
            label {
                margin-left: 13px !important;
            }
            input {
                text-indent: 0;
            }
        }
    }


    .wc-block-cart__totals-title,
    .is-large.wc-block-cart .wc-block-cart__totals-title,
    .cross-sells > h2,
    .up-sells > h2, 
    .wp-block-woocommerce-cart-cross-sells-block > h2 {
        font-size: 18px;
        position: relative;
        text-align: left;
        text-transform: capitalize;
        line-height: 30px;
        font-weight: 600 !important;
    }

    .wc-block-cart__submit-container {
        .wp-element-button {
            padding: 14px;

            &:not(:hover) {
                color: var(--wp--preset--color--base);
            }
        }
    }

    .wp-block-woocommerce-cart-order-summary-coupon-form-block.wc-block-components-totals-wrapper:after {
        border-top-width: 0;
    }

    

    .is-large.wc-block-cart .wc-block-cart-items td {
        padding: 30px;

        &:last-child {
            padding-right: 30px;
        }
    }

    .is-large.wc-block-cart .wc-block-cart-items td.wc-block-cart-item__image {
         padding-right: 0 !important;
    }

    .is-large.wc-block-cart .wc-block-cart-items td:after,
    .is-large.wc-block-cart .wc-block-cart-items:after,
    .wc-block-components-totals-wrapper:after {
        color: var(--wp--preset--color--border);
        opacity: 1;
    }

    .is-large.wc-block-cart .wc-block-cart-items {
        td{
            border-color: var(--wp--preset--color--border);
        }

        tr:first-child td{
            border-top: 0;
        }
    }


    .wc-block-components-totals-coupon__button:not(:hover) {
        color: var(--wp--preset--color--base);
    }

    .wc-block-components-quantity-selector:after {
        border-radius: 50px;
    }

    .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
        box-shadow: none;
    }


    .wc-block-cart-item__remove-link {
        cursor: pointer;
    }

    .wc-block-cart-item__wrap {
        .wc-block-components-product-badge {
            margin-bottom: 0;
            letter-spacing: 0;
            background-color: transparent;
            padding: 0;
            color: var(--wp--preset--color--secondary);
            border-width: 0;
            position: relative;
            top: -8px;

        }

        .wc-block-components-product-name {
            font-weight: 500;
            font-size: 15px !important;
        }
    }

    .wc-block-cart-item__total {

        .wc-block-components-sale-badge {
            background-color: transparent;
            color: var(--wp--preset--color--secondary);
            border: 1px solid var(--wp--preset--color--secondary);
            text-transform: uppercase;
            border-radius: 20px;
        }
    }

    .wc-block-cart-item__prices,
    .wc-block-cart-item__total {
        .wc-block-components-product-price {
            display: flex;
            align-items: center;
            gap: 7px;
            flex-direction: row-reverse;
            justify-content: flex-end;
            font-weight: 800;
            font-size: 14px !important;
        }
    }

    .is-large .wc-block-components-sidebar .wc-block-components-panel,
    .is-large .wc-block-components-sidebar .wc-block-components-totals-coupon,
    .is-large .wc-block-components-sidebar .wc-block-components-totals-item,
    .is-large.wc-block-cart .wc-block-components-sidebar .wc-block-components-shipping-calculator,
    .is-large.wc-block-cart .wc-block-components-sidebar .wc-block-components-shipping-rates-control__package:not(.wc-block-components-panel) {
        padding: 0 !important;
    }

    .wc-block-cart-items thead {
        background: var(--wp--preset--color--bg-1);
        border-top-left-radius: 16px;
        border-bottom-left-radius: 16px;
    }

    .wc-block-cart-items th {
        padding: 19px 30px ; /*10px 16px 10px 0;*/

        &:first-child {
            border-top-left-radius: 16px;
            border-bottom-left-radius: 16px;
        }

        &:last-child {
            border-top-right-radius: 16px;
            border-bottom-right-radius: 16px;
            padding-right: 30px;
        }

        &.wc-block-cart-items__header-product {
            visibility: visible;
            background: var(--wp--preset--color--bg-1);
            text-align: left;
        }
    }

    tbody {
        tr{
            &:first-child {
                td:after {
                    content: none !important;
                } 
            }     
        }
    }

    .wc-block-cart-item__image {
        a img,
        img {
            border-radius: 8px;
            height: 90px;
            object-fit: cover;
        }

        a {
            display:inline-flex;
        }
    }

    .wc-block-components-quantity-selector {
        margin-bottom: 10px;
        background: var(--wp--preset--color--bg-1);
        display: flex;
        padding: 3px 11.5px;
        border-radius: 60px;
        align-items: center;
        width: auto;

        input {
            min-width: 48px;
            border-width: 0;
            text-align: center;
            padding: 13px 4px !important;
            font-size: 14px !important;
            background-color: transparent !important;
            font-weight: 500;
            color: var(--wp--preset--color--primary);
        }

        button {
            border-width: 0 !important;
            background-color: var(--wp--preset--color--base) !important;
            cursor: pointer !important;
            font-size: 14px !important;
            font-weight: 400 !important;
            outline: 0 !important;
            color: var(--wp--preset--color--primary) !important;
            width: 30px !important;
            height: 30px !important;
            border-radius: 50px !important;
            opacity: 1 !important;
        }
    }

    .wc-block-cart__submit {
        margin-top: 12px;
        margin-bottom: 0;

        .wc-block-cart__submit-container {
            .wc-block-cart__submit-button {
                border-radius: 120px;
                background: var(--wp--preset--color--secondary);

                &:hover,
                &:focus {
                    border-color: var(--wp--preset--color--secondary);
                    color: var(--wp--preset--color--secondary);
                    background: transparent;
                    box-shadow: none !important;
                    outline: 0 ! important;
                }
            }
        }
    }

    .wc-block-components-quantity-selector {
        input.wc-block-components-quantity-selector__input {
            font-weight: 400;
            padding: 10px 0;
            border-radius: 0;
            border-left-width: 0;
            border-right-width: 0;
        
            &:focus {
                box-shadow: none;
            }
        }
    }

    .wc-block-components-panel__button {
        font-size: 15px;
    }

    .wp-block-woocommerce-empty-cart-block {
        .wp-block-image {
            margin: auto auto 30px;
        }

        .wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
            font-size: 20px;
            margin-top: 70px;
        }

        @media (min-width:1200px) {
            > .wp-block-product-new {
                margin: auto;
            }
        }

        .wc-block-cart__empty-cart__title {
            font-size: clamp(1.35rem, 2vw + 1rem, 1.75rem);
            font-family: var(--wp--preset--font-family--plus-jakartaSans);

            & + p {
                a {
                    border-radius: 50px;
                    background-color: var(--wp--preset--color--primary);
                    text-align: center;
                    padding: 14px 28px;
                    display: inline-block;
                    color: #fff;
                    font-size: 14px;
                    font-weight: 600;
                    border: 2px solid transparent;

                    &:hover,
                    &:focus {
                        background-color: var(--wp--preset--color--base);
                        border-color: var(--wp--preset--color--primary);
                        color: var(--wp--preset--color--primary);
                    }
                }
            }
        }

        .wp-block-separator + h2 {
            margin: clamp(1.35rem, 2vw + 1rem, 4rem) 0 clamp(1.35rem, 2vw + 1rem, 2.25rem);
        }

        .wc-block-grid__products {
            .woocommerce-loop-product__link,
            .wc-block-grid__product-link {
                display: inline-flex;
                width: 100%;
                flex-direction: column;
            }

            .wc-block-grid__product-image a {
                width: 100%;
            }

            .wc-block-grid__product-title {
                font-size: 16px;
                text-align: left !important;
                overflow: hidden;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                margin-bottom: 8px;
                margin-top: 0;
                font-weight: 500 !important;
                line-height: 1.5;
                font-family: var(--wp--preset--font-family--plus-jakartaSans);
            }

            .wc-block-grid__product-image {     
                position: relative;
                display: flex;

                img {
                    aspect-ratio: 4/6;
                    object-fit: cover;
                    border-radius: clamp(0.5rem, 0.5rem + ((1vw - 0.48rem) * 0.24), 0.5rem);
                    width: 100%;

                    @media (min-width:1200px) {
                        height: 352px;
                    }

                    @media (min-width:768px) {
                        aspect-ratio: 4/5;
                    }
                }
            }

            .wc-block-grid__product-image  {
                margin-bottom: 12px;
                display: flex;
                background-color: var(--wp--preset--color--gray-100);
                border-radius: clamp(0.875rem, 0.875rem + ((1vw - 0.48rem) * 0.24), 1rem);
                
                @media (min-width:1200px) {
                    height: 352px;
                }
            }

            .wc-block-grid__product-onsale {
                padding: 3px 9px;
                display: none;
                place-items: center;
                background-color: transparent;
                color: var(--wp--preset--color--secondary);
                border: 1px solid var(--wp--preset--color--secondary);
                font-size: 12px !important;

                left: 20px;
                top: 20px;
                right: auto;
                font-weight: 500;
                position: absolute;
                text-transform: capitalize;
                z-index: 1;
                line-height: 12px;
                border-radius: 20px;

                @media (min-width:600px) {
                    display: flex;
                }

                
            }

            .price {
                display: flex;
                flex-wrap: wrap;
                column-gap: 10px;
                color: var(--wp--preset--color--primary);
                margin-bottom: 14px;
                font-weight: 800;
                align-items: center;
                font-size: clamp(14px, 0.875rem + (1vw - 0.48rem) * 0.24, 0.875rem) !important;
                line-height: 26px;

                del  {
                    font-weight: 500;
                    color: var(--wp--preset--color--text-main);
                }

                ins {
                    text-decoration: none;
                }
            }
        
            .wc-block-grid__product {
                display: flex;
                flex-direction: column;
                transition: .3s ease-in-out;
                position: relative;
                border-width: 0;
                padding: 15px;

                &::after {
                    content: "";
                    position: absolute;
                    height: 20px;
                    display: block;
                    width: 100%;
                    top: 100%;
                }

                .wc-block-grid__product-add-to-cart {
                    position: relative;
                } 
            
                .wc-block-grid__product-add-to-cart .add_to_cart_button {
                    margin-top: 10px;
                    width: 100%;

                    @media (max-width:1199px) {
                        display: none;
                        font-size: 1em;
                        padding: 0.5em 1em;
                        text-align: center;
                    }

                    @media (min-width:1200px) {
                        width: auto;
                        margin-bottom: 0;
                        margin-top: 0;
                        position: relative;
                        align-items: center;
                        justify-content: center;
                        gap: 8px;
                        font-size: 14px !important;
                        background-color: var(--wp--preset--color--white);
                        color: var(--wp--preset--color--primary);
                        flex-flow: row-reverse;
                        padding: 13px 30px;
                        border-radius: 120px;
                        box-shadow: none;/*0 0 4px 0 rgba(32, 55, 55, 0.07);*/
                        transition: .3s ease-in-out;
                        text-align: center;
                        border-width:0;
                        display: none;

                        &:is(:hover,:focus) {
                            background-color: var(--wp--preset--color--primary);
                            text-indent: 0;
                            color: var(--wp--preset--color--white);
                            padding: 13px 30px;
                            z-index: 1;
                            transition: all .1s ease-in-out 0s;
                        }
                    }
                }

                &:hover,
                &:focus {
                    .wc-block-grid__product-add-to-cart {
                        @media (min-width:1200px) {
                            position: absolute;
                            z-index: 2;
                            width: calc(100% - 20px);
                            top: 317px;
                            left: 50%;
                            transform: translate(-50%, -50%);
                            height: inherit;
                            display: block;
                            animation: fadeIn .2s;
                            animation-fill-mode: forwards;
                        }
                    }

                    .add_to_cart_button {
                        display: block;
                        margin: 15px;
                    }

                    .woocommerce-loop-product__title,
                    .woocommerce-loop-category__title,
                    .wc-block-grid__product-title,
                    .wp-block-post-title {
                        &,a {
                            color: var(--wp--preset--color--primary);
                            text-decoration: underline;
                            text-underline-offset: 4px;
                        }
                    }
                }

                .price,
                .wc-block-components-product-price {
                    margin-bottom: 0;
                    width: calc(100% - 34px);
                }


                .wc-block-grid__product-price {
                    margin-right: 0;
                    margin-left: 0;
                }

            }
        }
    }

    .wc-block-cart-items__header .wc-block-cart-items__header-image, 
    .wc-block-cart-items__header-total,
    .wc-block-cart-items__header-product {
        font-size: 15px !important;
        font-weight: 500;
        text-transform: uppercase;
    }
}

.wc-blocks-components-select .wc-blocks-components-select__container {
    height: 55px;
    background-color: var(--wp--preset--color--bg-1);
    border-radius: 8px; 

    .wc-blocks-components-select__select {
        border: none;
        padding-left: 20px;
        font-size: 15px;
        border-radius: 8px; 
    }

    label {
        padding-left: 15px;
        transform: translateY(50%) scale(1);
    }
}


.woocommerce-cart {
    .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.wp-block-cover):not(.wpforms-container)) {
        max-width: 1300px;
    }
}

.wc-block-components-notice-banner {
    > p:not([class]) {
        display: none;
    }
}


.cross-sells > h2 {
    margin-top: 0 !important;
}

.is-medium.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title,
.is-mobile.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title, 
.is-small.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
    display: block;
}

.woocommerce-cart {
    .is-medium,
    .is-mobile,
    .is-small {
        table.wc-block-cart-items .wc-block-cart-items__row {
            grid-template-columns: 10px 100px;

            .wc-block-cart-item__image {
                opacity: 0;
            }
        }
    }
}

.wp-block-woocommerce-cart-order-summary-block {
    font-weight: 500;

    #wc-block-components-totals-coupon__input-0 {
        padding-left: 17px;
        text-indent: 0;
    }
}

.wp-block-woocommerce-cart-order-summary-totals-block {
    .wc-block-components-totals-item__label {
        font-size: 15px ;
        font-weight: 400;
    }
    .wc-block-components-totals-item__value {
        font-size: 14px;
        font-weight: 600;
    }
}

.wc-block-components-totals-wrapper:not(.wp-block-woocommerce-cart-order-summary-subtotal-block):not(.wp-block-woocommerce-cart-order-summary-shipping-block):not(.wp-block-woocommerce-cart-order-summary-discount-block) {
    .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
    .wc-block-components-totals-item__value {
        font-size: 15px ;
        font-weight: 600;
    }
}

.wc-block-components-radio-control .wc-block-components-radio-control__option-layout {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
}

.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__description-group,
.wc-block-components-radio-control__description, .wc-block-components-radio-control__secondary-description {
    font-weight: 500;
    font-size: 12.25px;
    color: var(--wp--preset--color--primary) !important;
}

.wc-block-components-radio-control__option {
    padding-left: 22px;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input {
    min-height: 14px;
    min-width: 14px;
    height: 14px;
    width: 14px;
    border-width: 1px;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
    border-color: var(--wp--preset--color--primary);
    background-color: transparent !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
    background-color: var(--wp--preset--color--primary);
    min-height: 9px;
    min-width: 9px;
    height: 9px;
    width: 9px;
}

.return-to-shop {
    text-align: center;

    a {
        display: inline-block;

        br {
            display: none;
        }
    }
}
