/* PIYAMO v1.6.3.69 — tidy phone cart and keyboard-safe shopping dock.
 * Loaded after the existing theme/festival CSS to avoid changing other layouts. */
@media (max-width: 767px) {
    /* A table's intrinsic min-content width previously widened the cart grid,
       pushing quantity buttons, prices and bulk actions beyond the right edge. */
    body.woocommerce-cart #primary,
    body.woocommerce-cart #main,
    body.woocommerce-cart .content-inner,
    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .cart-page-wrapper,
    body.woocommerce-cart .cart-layout,
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-items,
    body.woocommerce-cart .cart-table,
    body.woocommerce-cart .cart-table tbody,
    body.woocommerce-cart .cart-summary {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.woocommerce-cart .cart-page-wrapper,
    body.woocommerce-cart .cart-layout,
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-items,
    body.woocommerce-cart .cart-table,
    body.woocommerce-cart .cart-table tbody {
        width: 100% !important;
    }

    body.woocommerce-cart .cart-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }
    body.woocommerce-cart .cart-table,
    body.woocommerce-cart .cart-table tbody {
        display: block !important;
        table-layout: fixed !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    body.woocommerce-cart .cart-table tr.cart-item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 10px !important;
        border: 1px solid rgba(123,90,124,.15) !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.90) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        box-shadow: 0 4px 15px rgba(60,47,58,.045) !important;
    }
    body.woocommerce-cart .cart-table tr.cart-item td {
        display: flex !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 37px !important;
        height: auto !important;
        padding: 6px 12px !important;
        gap: 8px !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: right !important;
        border: 0 !important;
        border-top: 1px solid rgba(123,90,124,.06) !important;
        box-shadow: none !important;
    }
    body.woocommerce-cart .cart-table tr.cart-item td.product-cell {
        display: block !important;
        min-height: 70px !important;
        padding: 11px 12px !important;
        border-top: 0 !important;
        text-align: left !important;
    }
    body.woocommerce-cart .cart-table tr.cart-item td.product-cell::before {
        display: none !important;
    }
    body.woocommerce-cart .cart-table tr.cart-item td::before {
        flex: 0 0 74px !important;
        width: 74px !important;
        min-width: 0 !important;
        font-size: 10px !important;
        line-height: 1.25 !important;
        letter-spacing: .03em !important;
        text-align: left !important;
        white-space: nowrap !important;
    }
    body.woocommerce-cart .cart-item .product-cell-inner {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        gap: 10px !important;
        align-items: center !important;
    }
    body.woocommerce-cart .cart-item .product-checkbox {
        flex: 0 0 17px !important;
        margin: 0 !important;
    }
    body.woocommerce-cart .cart-item .item-image {
        flex: 0 0 54px !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 9px !important;
    }
    body.woocommerce-cart .cart-item .item-details {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        gap: 3px !important;
    }
    body.woocommerce-cart .cart-item .item-name {
        font-size: 13px !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere !important;
    }
    body.woocommerce-cart .cart-item .cart-line-price,
    body.woocommerce-cart .cart-item .cart-line-subtotal {
        flex: 1 1 auto !important;
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        justify-content: flex-end !important;
        align-items: baseline !important;
        flex-wrap: wrap !important;
        gap: 3px 7px !important;
        line-height: 1.3 !important;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
    body.woocommerce-cart .cart-item .piyamo-price-pair,
    body.woocommerce-cart .cart-item .piyamo-subtotal-pair {
        flex-wrap: wrap !important;
        max-width: 100% !important;
        justify-content: flex-end !important;
        gap: 3px 7px !important;
        white-space: normal !important;
    }
    body.woocommerce-cart .cart-item .woocommerce-Price-amount {
        white-space: nowrap !important;
    }
    body.woocommerce-cart .cart-item td.qty-cell {
        min-height: 42px !important;
    }
    body.woocommerce-cart .cart-item .quantity-control {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        margin-left: auto !important;
        max-width: calc(100% - 84px) !important;
    }
    body.woocommerce-cart .cart-item .quantity-control .quantity {
        max-width: 100% !important;
        height: 32px !important;
        overflow: hidden !important;
        border-radius: 9px !important;
    }
    body.woocommerce-cart .cart-item .quantity-control .qty-btn {
        width: 34px !important;
        min-width: 34px !important;
        flex-basis: 34px !important;
        height: 32px !important;
    }
    body.woocommerce-cart .cart-item .quantity-control input.qty {
        width: 38px !important;
        min-width: 38px !important;
        flex-basis: 38px !important;
        height: 32px !important;
        padding: 0 !important;
        font-size: 12px !important;
    }
    body.woocommerce-cart .cart-actions,
    body.woocommerce-cart .cart-actions-left {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body.woocommerce-cart .cart-actions-left {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px 12px !important;
        width: 100% !important;
    }
    body.woocommerce-cart .cart-remove-selected {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
    body.woocommerce-cart .continue-shopping-btn {
        box-sizing: border-box !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    body.woocommerce-cart .cart-summary .summary-row {
        min-width: 0 !important;
        gap: 12px !important;
    }
    body.woocommerce-cart .cart-summary .summary-row > :last-child {
        flex-shrink: 0 !important;
        text-align: right !important;
    }

    /* Cart page already contains checkout, totals and a continue-shopping link.
       Its second sticky bag only obscured content and caused double CTA noise. */
    body.woocommerce-cart .piyamo-mobile-cart-dock {
        display: none !important;
    }

    /* Remove redundant dock padding on the cart page, including the footer. */
    body.piyamo-mobile-store-chrome.woocommerce-cart .cart-page-wrapper {
        padding-bottom: 20px !important;
    }
    body.woocommerce-cart .piyamo-mobile-footer-bottom {
        padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important;
    }
    /* When someone enters search, login, coupon or account fields, the bottom
       dock should never float over the mobile keyboard/form controls. */
    body.piyamo-mobile-typing .piyamo-mobile-cart-dock {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}
@media (max-width: 359px) {
    body.woocommerce-cart .cart-table tr.cart-item td::before {
        flex-basis: 63px !important;
        width: 63px !important;
        font-size: 9px !important;
    }
    body.woocommerce-cart .cart-item .quantity-control {
        max-width: calc(100% - 72px) !important;
    }
}
