/****************************
 * Woo Page Cart - Layout
*****************************/
body.woocommerce-cart {
    --aside-width:320px;
    --main-width:calc(100% - var(--aside-width));
}

/* Cart Page Layout */
body.woocommerce-cart .container .woocommerce {display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:flex-end;}
body.woocommerce-cart .container .woocommerce > * {width:100%;}
body.woocommerce-cart .container .woocommerce > form.woocommerce-cart-form {
    width:var(--main-width); padding-right:10px; margin-bottom:var(--vii-spacing-default);
}
body.woocommerce-cart .container .woocommerce > div.cart-collaterals {
    width:var(--aside-width); margin-bottom:var(--vii-spacing-default);
    position:sticky; top:calc(var(--vii-header-height-sticky) + 20px);
    transition:top .3s ease;
}
body.woocommerce-cart.scroll-down .container .woocommerce > div.cart-collaterals {top:20px;}


/* Button > Return to shop page (cart page empty) */
.woocommerce .return-to-shop {margin-bottom:var(--vii-spacing-default); text-align:center;}
.woocommerce .return-to-shop a {
    background:var(--vii-color-primary); color:var(--vii-color-on-primary);
}
.woocommerce .return-to-shop a:hover, .woocommerce .return-to-shop a:focus {
    --woo-border:1px solid var(--vii-color-primary);
    background:var(--vii-color-on-primary);color:var(--vii-color-primary);
}


/* Responsive */
@media only screen and (max-width:1280px) {
    /* Cart Page Layout */
    body.woocommerce-cart .container .woocommerce > form.woocommerce-cart-form {
        width:100%; padding:0; margin-bottom:var(--vii-spacing-20);
    }
    body.woocommerce-cart .container .woocommerce > div.cart-collaterals {width:100%; max-width:400px;}
}
@media only screen and (max-width:767px) {
    /* Cart Page Layout */
    body.woocommerce-cart .container .woocommerce > div.cart-collaterals {max-width:100%;}
}

/****************************
 * Woo Tables > Cart > Orders
 * .shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents {}
 * Layout: large
 * Parts: thead, tbody
*****************************/
.woocommerce .shop_table.cart {
    --remove:70px;
    --name:100%;
    --price:90px;
    --quantity:150px;
    --subtotal:120px;
}
.woocommerce .shop_table.cart thead tr {}
.woocommerce .shop_table.cart tr {}

.woocommerce .shop_table.cart th.product-thumbnail {display:none;}

/* Cart Table > Body */
.woocommerce .shop_table.cart .product-remove {
    order:99; justify-content:center; padding-right:0;
    width:var(--remove); min-width:var(--remove);
}
.woocommerce .shop_table.cart .product-thumbnail {width:var(--woo-thumbnail-size); min-width:var(--woo-thumbnail-size);}
.woocommerce .shop_table.cart .product-thumbnail a {display:block; width:100%; overflow:hidden;}
.woocommerce .shop_table.cart .product-thumbnail a img {transition:transform 0.3s ease;}
.woocommerce .shop_table.cart .product-thumbnail a:hover img {transform:scale(1.1);}


.woocommerce .shop_table.cart .product-name {width:var(--name); flex-wrap:wrap;}
.woocommerce .shop_table.cart .product-price {width:var(--price); min-width:var(--price); display:none;}
.woocommerce .shop_table.cart .product-quantity {width:var(--quantity); min-width:var(--quantity);}
.woocommerce .shop_table.cart .product-subtotal {width:var(--subtotal); min-width:var(--subtotal);}

/* Responsive */
@media only screen and (max-width:767px) {
    .woocommerce .shop_table.cart thead {display:none;}

    /* Cart Table > Body */
    .woocommerce .shop_table.cart {
        --name:100%;
        --price:100%;
        --quantity:100%;
        --subtotal:100%;
    }
    .woocommerce .shop_table.cart .product-thumbnail {position:absolute; top:0; left:15px;}
    .woocommerce .shop_table.cart tr.cart_item {
        flex-wrap:wrap;
        padding-left:calc(var(--woo-thumbnail-size) + 15px); min-height:calc(var(--woo-thumbnail-size) - 15px);
    }
    .woocommerce .shop_table.cart .product-price {display:none;}
    .woocommerce .shop_table.cart .product-quantity {order:2; padding-top:7px;}
    .woocommerce .shop_table.cart .product-subtotal {order:1; padding-top:5px;}
    .woocommerce .shop_table.cart .product-remove {position:absolute; bottom:0; height:30px; right:10px;}
}

/****************************
 * Cart Table > Coupon row
*****************************/
/* Cart Table > Coupon row > Hide button update cart */
.woocommerce .shop_table.cart .coupon + button {display:none;}

/* Coupon row */
.woocommerce .shop_table.cart tr:has(.coupon) {border-top:var(--woo-border); padding-top:15px;}
.woocommerce .shop_table.cart .actions,
.woocommerce .shop_table.cart .coupon {width:100%;}
.woocommerce .shop_table.cart .coupon .vii-form-field--wrap {display:flex;flex-wrap:wrap;gap:8px;}
.woocommerce .shop_table.cart .coupon-error-notice {
    --vii-spacing-paragraph:var(--vii-spacing-8);
    width:100%;
}
.woocommerce .shop_table.cart .coupon-error-notice.hidden {display:none !important;}

/* Coupon row > input */
.woocommerce .shop_table.cart .coupon input#coupon_code {width:200px;height:49px; display:inline-block;}

/* Responsive */
@media only screen and (max-width:480px) {
    .woocommerce .shop_table.cart .coupon .coupon-inner {flex-direction:column;}
    .woocommerce .shop_table.cart .coupon .coupon-form,
    .woocommerce .shop_table.cart .coupon label,
    .woocommerce .shop_table.cart .coupon input#coupon_code,
    .woocommerce .shop_table.cart .coupon .coupon-inner p:has(button.button),
    .woocommerce .shop_table.cart .coupon .coupon-inner p:has(button.button) button {width:100%;}
}


/****************************
 * Woo Tables > Cart > Collaterals
 * .shop_table.shop_table_responsive {}
 * Layout: narrow
 * Parts: tbody
*****************************/
.cart-collaterals h2 {font-size:var(--vii-size-h4); display:none;}

.woocommerce .cart-collaterals .shop_table {margin-bottom:var(--vii-spacing-10);}
.woocommerce .cart-collaterals .shop_table tbody {padding:0; gap:0;}
.woocommerce .cart-collaterals .shop_table tbody tr {padding-top:10px; padding-bottom:10px;}
.woocommerce .cart-collaterals .shop_table tbody tr:not(:last-child) {border-bottom:var(--woo-border);}

/* Button proceed to checkout */
.wc-proceed-to-checkout .button {width:100%;}
/*.wc-proceed-to-checkout .button:after {content:"\e922";}*/

/****************************
 * Woo Tables > Shipping calculator
 * Page: Cart
*****************************/
/* Shipping calculator */
form.woocommerce-shipping-calculator {}
.shipping-calculator-form {padding-top:10px;}
.shipping-calculator-form p:has(button) {padding:0 var(--woo-gap-field);width:100%;}
.shipping-calculator-form p .button {width:100%;}

/* Shipping calculator > Button */
a.shipping-calculator-button {text-decoration:underline; color:var(--vii-color-primary);}
/*a.shipping-calculator-button:after {*/
/*    content:var(--woo-icon-shipping); font-family:var(--vii-font-icomoon), fantasy; font-size:1.3em;*/
/*    line-height:1; display:inline-block; transform:translateY(.15em); margin-left:5px;*/
/*}*/
a.shipping-calculator-button:hover, a.shipping-calculator-button:focus {text-decoration:underline;}

/* Shipping calculator > Form */
.woocommerce form .shipping-calculator-form > .form-row label {position:absolute;}
.woocommerce form .form-row:has(input[type="hidden"]) {display:none;}
.woocommerce form .form-row#calc_shipping_city_field,
.woocommerce form .form-row#calc_shipping_postcode_field {width:50%;}