/****************************
 * Woo Tables
*****************************/
.woocommerce .shop_table {
    display:block; width:100%; margin:0;
    --table-bg:#fbfbfb;
    --thumbnail-size:85px;
}
.woocommerce .shop_table tr {display:flex; padding:0 15px; position:relative;}
.woocommerce .shop_table tr td,
.woocommerce .shop_table tr th {
    display:flex; align-items:center; flex-wrap:wrap;
    border:none; padding:0;
}
.woocommerce .shop_table tr td:not(:last-child),
.woocommerce .shop_table tr th:not(:last-child) {padding-right:15px;}

.woocommerce .shop_table thead {
    background:var(--table-bg);
    border-radius:var(--woo-radius); border:var(--woo-border);
    display:block; margin-bottom:10px; padding:10px 0;
}
.woocommerce .shop_table th {font-weight:400;}

.woocommerce .shop_table tbody {
    background:var(--table-bg);
    border-radius:var(--woo-radius); border:var(--woo-border);
    display:block; padding:20px 0;
}
.woocommerce .shop_table tbody tr:not(:last-child) {margin-bottom:20px;}
.woocommerce .shop_table tbody tr {}
.woocommerce .shop_table tbody tr td {}
.woocommerce .shop_table tbody .product-name a {text-decoration:none;}
.woocommerce .shop_table tbody .product-name a:hover,
.woocommerce .shop_table tbody .product-name a:focus {color:var(--twc-color-primary);}

.woocommerce .shop_table tfoot {display:block; border-top:var(--woo-border); padding:15px 0;}
.woocommerce .shop_table tfoot tr {}
.woocommerce .shop_table tfoot tr th {}
.woocommerce .shop_table tfoot tr td {}

/****************************
 * Woo Tables > Buttons
 * Page: Cart
*****************************/
/* Buttons > Button remove product (cart page) */
.woocommerce a.remove {
    font-size:0; color:var(--twc-color-gray);
    text-decoration:none; display:inline-block;
}
.woocommerce a.remove:before {content:var(--woo-icon-clear); font-family:var(--twc-font-icomoon); font-size:var(--twc-size-body); font-weight:400;}
.woocommerce a.remove:hover, .woocommerce a.remove:focus {transform:scale(1.15) rotate(5deg); color:var(--woo-color-error);}


/* Buttons > Restore item (after delete product from cart page) */
/*.woocommerce a.restore-item {text-decoration:none;}
.woocommerce a.restore-item:after {font-family:var(--twc-font-icomoon); margin-left:7px; content:var(--woo-icon-restore);}*/


/****************************
 * Woo Tables > Shipping method
 * Page: Cart, Checkout
*****************************/
ul#shipping_method {margin:0; list-style:none;}
ul#shipping_method li {padding:0; margin:0;}
ul#shipping_method li:not(:last-child) {margin-bottom:5px;}
ul#shipping_method li input {margin-right:8px;}
ul#shipping_method .shipping-method-description {width:100%;}
ul#shipping_method:not(.one-option) .shipping-method-description {padding-left:21px;}


/****************************
 * Woo Tables > Shipping calculator
 * Page: Cart
*****************************/
/* Shipping calculator */
form.woocommerce-shipping-calculator {}

/* Shipping calculator > Button */
a.shipping-calculator-button {text-decoration:none;}
a.shipping-calculator-button:after {
    content:var(--woo-icon-shipping); font-family:var(--twc-font-icomoon); 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:none;}

/* Shipping calculator > Form */
.shipping-calculator-form {padding-top:var(--twc-spacing-10);}
.shipping-calculator-form p {padding:0 !important; width:100% !important; margin:0 !important;}
.shipping-calculator-form p:not(:first-child) {padding-top:var(--twc-spacing-10) !important;}
.shipping-calculator-form p .button {width:100%;}
.woocommerce .cart-collaterals tr.shipping.one-option .shipping-calculator-form td input {display:block;}


/****************************
 * Woo Tables > Cart collaterals
 * Page: Cart, Checkout
*****************************/
.woocommerce .cart-collaterals tr {justify-content:space-between; flex-wrap:wrap;}
.woocommerce .cart-collaterals tr:not(:last-child) {border-bottom:var(--woo-border); padding-bottom:15px; margin-bottom:15px;}
.woocommerce .cart-collaterals td {display:block !important; font-weight:700;}

/* Price */
.cart-collaterals .woocommerce-Price-amount.amount {}

/* Cart > Total > Shipping */
.woocommerce .cart-collaterals tr.shipping td {width:100%; font-weight:400;}
.woocommerce .cart-collaterals tr.shipping td > * {margin-bottom:0; padding-top:12px;}

/* Cart > Total > Shipping (one option) */
.woocommerce .cart-collaterals tr.shipping.one-option td {width:auto; font-weight:700;}
.woocommerce .cart-collaterals tr.shipping.one-option td input {display:none;}
.woocommerce .cart-collaterals tr.shipping.one-option td > * {padding-top:0;}

/* Cart > Total > Total */
.woocommerce .cart-collaterals tr.order-total td,
.woocommerce .cart-collaterals tr:last-child td {font-size:1.3em; color:var(--twc-color-primary);}

/* Cart > Total > Tax */
.woocommerce .cart-collaterals .includes_tax {display:inline-block;}


/****************************
 * Woo Tables > Variation
 * Page: Cart, Checkout
*****************************/
.woocommerce .shop_table ul.variation {
    margin:0; list-style:none; width:100%;
    display:flex; flex-wrap:wrap;
}
.woocommerce .shop_table ul.variation li {display:flex; padding:0;}
.woocommerce .shop_table ul.variation li:not(:last-child):after {content:","; margin-right:5px;}
.woocommerce .shop_table ul.variation li span,
.woocommerce .shop_table ul.wc-item-meta li strong {padding-right:4px; font-weight:400;}

/* Thank you page */
.woocommerce .shop_table ul.wc-item-meta li p {font-weight:700;}


/****************************
 * Woo Tables > Cart > Orders
 * .shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents {}
 * Layout: large
 * Parts: thead, tbody
*****************************/
.woocommerce .shop_table.cart {
    --remove:30px;
    --name:100%;
    --price:90px;
    --quantity:150px;
    --subtotal:180px;
}
.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(--thumbnail-size); min-width:var(--thumbnail-size);}
.woocommerce .shop_table.cart .product-thumbnail-inner {width:100%;}
.woocommerce .shop_table.cart .product-thumbnail .product-thumbnail-bg {display:block;}
.woocommerce .shop_table.cart .product-thumbnail .product-thumbnail-bg-inner {aspect-ratio: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);}

/* Cart Table > Coupon row */
.woocommerce .shop_table.cart tbody {padding-bottom:15px;}
.woocommerce .shop_table.cart tbody tr:not(.cart_item) {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__content {padding-top:10px; max-width:500px;}
.woocommerce .shop_table.cart .coupon label {display:none;}
.woocommerce .shop_table.cart .coupon input {width:70%;}
.woocommerce .shop_table.cart .coupon button {width:calc(30% - 10px); min-width:auto;}
.woocommerce .shop_table.cart .coupon__link {display:inline-block; text-decoration:underline;}
.woocommerce .shop_table.cart .coupon__link:hover {color:var(--twc-color-primary);}

/* Cart Table > Hide coupon row */
body.woo-disable-coupon .shop_table.cart tbody tr:last-child {display:none;}

/* Cart Table > Coupon row > Hide button update cart */
.woocommerce .shop_table.cart button[name="update_cart"] {display:none;}

/* Responsive */
@media only screen and (max-width:767px) {
    .woocommerce .shop_table.cart thead {display:none;}

    /* Cart Table > Body */
    .woocommerce .shop_table.cart {
        --remove:30px;
        --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 {
        flex-wrap:wrap;
        padding-left:calc(var(--thumbnail-size) + 15px); min-height:calc(var(--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 */
    .woocommerce .shop_table.cart tbody tr:not(.cart_item) {padding-left:15px; min-height:auto;}
    .woocommerce .shop_table.cart .coupon input {width:calc(100% - 110px - 10px);}
    .woocommerce .shop_table.cart .coupon button {width:110px; padding:5px;}
}


/****************************
 * Woo Tables > Cart > Total
 * .shop_table.shop_table_responsive {}
 * Layout: narrow
 * Parts: tbody
*****************************/
.cart-collaterals h2 {font-size:var(--twc-size-h4); display:none;}

.woocommerce .cart-collaterals .shop_table {margin-bottom:var(--twc-spacing-20);}
.woocommerce .cart-collaterals .shop_table tbody {padding:15px 0;}


/****************************
 * Woo Tables > Checkout > Orders
 * .shop_table.woocommerce-checkout-review-order-table {}
 * Layout: narrow
 * Parts: thead, tbody, tfoot
*****************************/
.woocommerce .shop_table.checkout-table {
    --thumbnail-size:45px;
    border-radius:var(--woo-radius); border:var(--woo-border);
    background:var(--woo-color-surface);
}
.woocommerce .shop_table.checkout-table thead {display:none;}
.woocommerce .shop_table.checkout-table tbody {border:none;}
.woocommerce .shop_table.checkout-table tbody tr {
    flex-wrap:wrap; align-items:flex-start;
    min-height:var(--thumbnail-size); padding-left:calc(var(--thumbnail-size) + 30px);
}

/* Checkout > Orders > Product thumbnail */
.woocommerce .shop_table.checkout-table .product-thumbnail {
    position:absolute; top:0; left:15px;
}
.woocommerce .shop_table.checkout-table .product-thumbnail-bg {
    display:block; width:var(--thumbnail-size); height:var(--thumbnail-size);
}
.woocommerce .shop_table.checkout-table .product-thumbnail-bg > div {height:100%; background-color:#c6cfdb;}
.woocommerce .shop_table.checkout-table .product-thumbnail-bg > div img {max-height:100%;}

/* Checkout > Orders > Product name */
.woocommerce .shop_table.checkout-table .product-name {
    align-items:flex-start; position:relative; flex-wrap:wrap;
    width:95%; padding-right:30px;
}
.woocommerce .shop_table.checkout-table .product-name .product-quantity {
    position:absolute; top:0; right:0;
}

/* Checkout > Orders > Tfoot */
.woocommerce .shop_table.checkout-table tfoot {padding:15px;}
.woocommerce .shop_table.checkout-table tfoot tr {padding-left:0; padding-right:0;}
.woocommerce .shop_table.checkout-table tfoot tr:not(:last-child) {padding-bottom:10px; margin-bottom:10px;}

/****************************
 * Woo Tables > Checkout > Order received
 * .woocommerce-table.woocommerce-table--order-details.shop_table.order_details {}
 * Layout: large
 * Parts: thead, tbody, tfoot
*****************************/
@media only screen and (min-width:768px) {
    .woocommerce .shop_table.order_details tr.order_item {padding-right:100px; align-items:center;}
    .woocommerce .shop_table.order_details td.product-name {align-items:center;}
    .woocommerce .shop_table.order_details td.product-total {position:absolute; right:15px;}
    .woocommerce .shop_table.order_details td.product-total,
    .woocommerce .shop_table.order_details td.product-name .product-quantity {transform:translateY(-50%); top:50%;}
}

/****************************
 * Woo Tables > Account > Orders
 * .woocommerce-orders-table.woocommerce-MyAccount-orders.shop_table.my_account_orders.account-orders-table {}
 * Parts: thead, tbody
*****************************/
.woocommerce .shop_table.my_account_orders thead {}
.woocommerce .shop_table.my_account_orders tbody {}
.woocommerce .shop_table.my_account_orders .button {
    background:var(--twc-color-primary); color:var(--twc-color-on-primary);
    padding:5px 10px; font-size:14px; border-radius:var(--woo-radius); border:none;
    min-height:auto; min-width:auto;
}
.woocommerce .shop_table.my_account_orders .button:after {font-family:var(--twc-font-icomoon); font-size:.8em; margin-left:10px; content:"\e91e";}
.woocommerce .shop_table.my_account_orders .button:hover,
.woocommerce .shop_table.my_account_orders .button:focus {background:var(--twc-color-primary-highlight); color:var(--twc-color-on-primary);}

/* Orders Table > Columns */
.woocommerce .shop_table.my_account_orders [class*="-order-number"] {width:12%;}
.woocommerce .shop_table.my_account_orders [class*="-order-date"] {width:23%;}
.woocommerce .shop_table.my_account_orders [class*="-order-status"] {width:20%;}
.woocommerce .shop_table.my_account_orders [class*="-order-total"] {width:30%;}
.woocommerce .shop_table.my_account_orders [class*="-order-actions"] {width:15%;}
.woocommerce .shop_table.my_account_orders [class*="-order-actions"] {
    width:15%; display:flex; flex-wrap:wrap;
}
.woocommerce .shop_table.my_account_orders [class*="-order-actions"] a {margin:3px 10px 3px 0;}
.woocommerce .shop_table.my_account_orders [class*="-order-actions"]:before {width:100%;}

.woocommerce-orders-table__cell-order-total span.amount {margin-right:5px;}

/* Responsive */
@media only screen and (max-width:767px) {
    /* Orders Table */
    .woocommerce .shop_table.my_account_orders tbody {background:transparent; border:none; padding:0;}
    .woocommerce .shop_table.my_account_orders thead {display:none;}
    .woocommerce .shop_table.my_account_orders tr {
        display:block; padding:0; background:var(--table-bg); overflow:hidden;
        border-radius:var(--woo-radius); border:var(--woo-border);
    }
    .woocommerce .shop_table.my_account_orders tbody td {
        width:100% !important; display:flex; justify-content:space-between; flex-wrap:wrap;
        padding:10px 15px !important;
        background:var(--woo-color-surface);
    }
    .woocommerce .shop_table.my_account_orders tbody td:before {
        content:attr(data-title); color:var(--twc-color-gray);
    }
    .woocommerce .shop_table.my_account_orders tbody td:not(:last-child) {border-bottom:var(--woo-border);}
    .woocommerce .shop_table.my_account_orders tbody td .amount {order:9; width:100%; text-align:right;}
}