/* Mobile cart layout. Desktop intentionally remains controlled by the parent theme. */
@media (max-width:767px) {
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart {
        width:100%!important;
        min-width:0!important;
        padding:0 0 112px!important;
        overflow-x:hidden!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart>.container {
        width:calc(100% - 20px)!important;
        max-width:410px!important;
        min-width:0!important;
        margin-right:auto!important;
        margin-left:auto!important;
        padding-right:0!important;
        padding-left:0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .order-steps {
        margin:18px 0 22px!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .checkout-breadcrumb {
        width:100%!important;
        gap:6px!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart #content>.row {
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        gap:12px!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart #content>.row>[class*="col-"] {
        flex:0 0 auto!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        margin:0!important;
        padding:0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .cart_tabs {
        justify-content:space-between!important;
        width:100%!important;
        margin:0 0 12px!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .woocommerce-cart-form {
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        padding:10px!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart,
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart tbody {
        display:block!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        background:transparent!important;
        border:0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart tr.cart_item {
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 76px!important;
        grid-template-areas:"name image" "price image" "quantity quantity" "subtotal subtotal"!important;
        column-gap:12px!important;
        row-gap:4px!important;
        width:100%!important;
        min-width:0!important;
        margin:0 0 10px!important;
        padding:12px!important;
        overflow:hidden!important;
        background:var(--o2-gray-6)!important;
        border:1px solid var(--o2-border)!important;
        border-radius:11px!important;
        box-sizing:border-box!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart tr.cart_item>td {
        float:none!important;
        display:block!important;
        width:auto!important;
        min-width:0!important;
        margin:0!important;
        padding:5px 0!important;
        background:transparent!important;
        border:0!important;
        color:var(--o2-gray-2)!important;
        box-shadow:none!important;
        box-sizing:border-box!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart tr.cart_item>td::before {
        float:none!important;
        background:transparent!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-thumbnail {
        grid-area:image!important;
        align-self:start!important;
        display:block!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-thumbnail img {
        display:block!important;
        width:76px!important;
        height:88px!important;
        margin:0!important;
        object-fit:contain!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-name {
        grid-area:name!important;
        padding-left:30px!important;
        text-align:right!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-price {
        grid-area:price!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:8px!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-quantity {
        grid-area:quantity!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:8px!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-subtotal {
        grid-area:subtotal!important;
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:wrap!important;
        align-items:center!important;
        justify-content:space-between!important;
        width:100%!important;
        min-width:0!important;
        gap:8px 12px!important;
        padding-top:9px!important;
        border-top:1px solid var(--o2-border)!important;
        text-align:right!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-subtotal::before {margin-left:auto!important}
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-subtotal .amount {flex:0 0 auto!important;max-width:100%!important}
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-subtotal .buy_later {flex:0 0 auto!important;max-width:100%!important;margin:0!important}
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.product-remove {
        position:absolute!important;
        top:8px!important;
        left:8px!important;
        z-index:2!important;
        width:28px!important;
        padding:0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart .quantity {
        width:112px!important;
        min-width:112px!important;
        max-width:112px!important;
        margin:0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart tbody>tr:not(.cart_item) {
        display:block!important;
        width:100%!important;
        margin:0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart table.cart td.actions {
        display:flex!important;
        justify-content:flex-start!important;
        width:100%!important;
        margin:0!important;
        padding:12px!important;
        background:var(--o2-field)!important;
        border:0!important;
        border-radius:9px!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart form.woocommerce-cart-form>.coupon {
        width:100%!important;
        margin:10px 0 0!important;
        padding:12px!important;
        gap:8px!important;
        background:var(--o2-field)!important;
        box-sizing:border-box!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .cart-collaterals {
        width:100%!important;
        margin:14px 0 0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .cart-collaterals .cart_totals {
        width:100%!important;
        margin:0!important;
        padding:14px!important;
        box-sizing:border-box!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .cart_totals table,
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .cart_totals tbody {
        width:100%!important;
        min-width:0!important;
    }
    body.o2-dark-ui.woocommerce-cart .page-shopping-cart .cart_totals :where(th,td) {
        background:transparent!important;
    }
    body.o2-dark-ui.woocommerce-cart>a.elm_sticky_btn,
    body.o2-dark-ui.woocommerce-cart .elm_sticky_btn {
        display:none!important;
    }
}
