body.takeaway-cart-page {
    --takeaway-menu-accent: #1d4ed8;
    --takeaway-menu-accent-contrast: #fff;
    --takeaway-menu-border: #8f9caf;
    --takeaway-menu-muted: #5b6472;
    --takeaway-menu-soft: #f5f7fb;
    color: #172033;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.takeaway-cart-page .takeaway-customer-main {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 72rem;
    padding: 1rem;
}

body.takeaway-cart-page .entry-header {
    margin: 0;
}

body.takeaway-cart-page .entry-title {
    font-family: inherit;
    font-size: 1.5rem;
    margin: 0 0 .75rem;
}

body.takeaway-cart-page .woocommerce-cart-form {
    margin: 0 0 1rem;
}

body.takeaway-cart-page table.shop_table.cart {
    border: 0;
    display: block;
    margin: 0;
}

body.takeaway-cart-page table.shop_table.cart thead {
    display: none;
}

body.takeaway-cart-page table.shop_table.cart tbody {
    display: grid;
    gap: .65rem;
}

body.takeaway-cart-page table.shop_table.cart tr.cart_item {
    align-items: center;
    background: #fff;
    border: 2px solid var(--takeaway-menu-border);
    border-radius: .75rem;
    box-shadow: 0 .15rem .55rem rgba(23, 32, 51, .06);
    display: grid;
    gap: .15rem .7rem;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    padding: .75rem;
}

body.takeaway-cart-page table.shop_table.cart td {
    background: transparent;
    border: 0;
    padding: 0;
}

body.takeaway-cart-page table.shop_table.cart td::before {
    content: none;
}

body.takeaway-cart-page td.product-thumbnail,
body.takeaway-cart-page td.product-price {
    display: none;
}

body.takeaway-cart-page td.product-remove {
    align-self: center;
    box-sizing: border-box;
    grid-column: 1;
    grid-row: 1 / span 2;
    justify-self: center;
    margin: 0 !important;
    min-width: 0;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    width: auto !important;
}

body.takeaway-cart-page td.product-remove a.remove,
body.takeaway-cart-page td.product-remove button.remove {
    align-items: center;
    background: #fff;
    border: 1px solid #b32d2e;
    border-radius: 50%;
    color: #b32d2e;
    display: flex;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.35rem !important;
    height: 1.65rem;
    justify-content: center;
    line-height: 1 !important;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: static !important;
    transform: none !important;
    text-indent: 0 !important;
    text-decoration: none;
    width: 1.65rem;
}

body.takeaway-cart-page td.product-remove a.remove::before,
body.takeaway-cart-page td.product-remove button.remove::before {
    content: none !important;
    display: none !important;
}

body.takeaway-cart-page td.product-remove a.remove::after,
body.takeaway-cart-page td.product-remove button.remove::after {
    content: none;
    display: none;
}

body.takeaway-cart-page td.product-name {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-width: 0;
    text-align: left;
}

body.takeaway-cart-page .takeaway-cart-product-name {
    color: inherit;
    display: block;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.25;
}

body.takeaway-cart-page td.product-subtotal {
    font-size: 1rem;
    font-weight: 750;
    grid-column: 3;
    grid-row: 1;
    white-space: nowrap;
}

body.takeaway-cart-page td.product-quantity {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
}

body.takeaway-cart-page td.product-quantity .quantity {
    margin: 0;
}

body.takeaway-cart-page td.product-quantity input.qty {
    box-sizing: border-box;
    height: 2rem;
    padding: .2rem;
    text-align: center;
    width: 3.25rem;
}

body.takeaway-cart-page dl.variation {
    display: grid;
    font-size: .8rem;
    gap: .08rem .3rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.3;
    margin: .3rem 0 0;
}

body.takeaway-cart-page dl.variation dt,
body.takeaway-cart-page dl.variation dd {
    clear: none;
    float: none;
    margin: 0;
    min-width: 0;
    padding: 0;
}

body.takeaway-cart-page dl.variation dt {
    color: var(--takeaway-menu-muted);
    font-weight: 700;
}

body.takeaway-cart-page dl.variation dd p {
    margin: 0;
    overflow-wrap: anywhere;
}

body.takeaway-cart-page dl.variation dt.variation-Allergens,
body.takeaway-cart-page dl.variation dt.variation-Allergens + dd,
body.takeaway-checkout-page dl.variation dt.variation-Allergens,
body.takeaway-checkout-page dl.variation dt.variation-Allergens + dd {
    color: #b32d2e;
    font-weight: 700;
}

body.takeaway-cart-page table.shop_table.cart tr:not(.cart_item) {
    display: block;
}

body.takeaway-cart-page table.shop_table.cart td.actions {
    padding: .75rem 0 0;
}

body.takeaway-cart-page.takeaway-cart-actions-enhanced
    table.shop_table.cart
    button[name="update_cart"] {
    display: none;
}

body.takeaway-cart-page .takeaway-cart-back-to-menu,
body.takeaway-cart-page .wc-proceed-to-checkout .checkout-button {
    align-items: center;
    background: var(--takeaway-menu-accent);
    border-radius: .5rem;
    box-sizing: border-box;
    color: var(--takeaway-menu-accent-contrast);
    display: flex;
    float: none;
    font-size: 1rem;
    font-weight: 700;
    justify-content: center;
    line-height: 1.3;
    margin: 0;
    min-height: 2.75rem;
    padding: .65rem 1rem;
    text-align: center;
    width: 100%;
}

body.takeaway-cart-page td.actions .coupon {
    display: flex;
    gap: .5rem;
}

body.takeaway-cart-page td.actions .coupon input {
    min-width: 0;
}

body.takeaway-cart-page .cart-collaterals {
    width: 100%;
}

body.takeaway-cart-page .cart-collaterals .cart_totals {
    background: var(--takeaway-menu-soft);
    border: 2px solid var(--takeaway-menu-border);
    border-radius: .75rem;
    box-sizing: border-box;
    float: none;
    padding: 1rem;
    width: 100%;
}

body.takeaway-cart-page .cart-collaterals .cart_totals h2 {
    font-family: inherit;
    font-size: 1.2rem;
    margin: 0 0 .5rem;
}

body.takeaway-cart-page .cart-collaterals .cart_totals table {
    margin: 0 0 .75rem;
}

body.takeaway-cart-page .cart-collaterals .cart_totals th,
body.takeaway-cart-page .cart-collaterals .cart_totals td {
    padding: .45rem .25rem;
}

body.takeaway-cart-page.takeaway-cart-address-empty
    .woocommerce-shipping-destination {
    display: none;
}

body.takeaway-cart-page .wc-proceed-to-checkout {
    margin: .75rem -1.125rem 0;
    padding: 0;
}

body.takeaway-cart-page .wc-proceed-to-checkout .checkout-button::after {
    content: none !important;
    display: none !important;
}

body.takeaway-cart-page .cart-empty {
    margin: 0 0 .75rem;
}

body.takeaway-cart-page .return-to-shop {
    margin: 0;
}

body.takeaway-cart-page .return-to-shop .button {
    background: var(--takeaway-menu-accent);
    border-radius: .5rem;
    color: var(--takeaway-menu-accent-contrast);
}

@media (max-width: 600px) {
    body.takeaway-cart-page .takeaway-customer-main {
        padding: .65rem;
    }

    body.takeaway-cart-page table.shop_table.cart tr.cart_item {
        gap: .12rem .5rem;
        padding: .65rem;
    }

    body.takeaway-cart-page td.actions .coupon {
        align-items: stretch;
        flex-direction: column;
    }

    body.takeaway-cart-page td.actions .coupon input,
    body.takeaway-cart-page td.actions .coupon button {
        width: 100%;
    }

}
