/**
 * Plus Tik cart page.
 *
 * Block-first for WooCommerce 10.9.4 with a contained classic-cart fallback.
 */

.plustik-cart-page {
    background:
        linear-gradient(180deg, var(--plustik-primary-soft) 0, rgba(234, 248, 239, 0) 20rem),
        var(--plustik-white);
}

.plustik-cart-page .site-content .col-full,
.plustik-cart-page.storefront-full-width-content .site-content .col-full {
    max-width: var(--plustik-wide-width);
}

.plustik-cart-page .content-area,
.plustik-cart-page.storefront-full-width-content .content-area {
    float: none;
    width: 100%;
    margin: 0;
}

.plustik-cart-page .site-main {
    margin-bottom: var(--plustik-space-3xl);
}

.plustik-cart-page .entry-content {
    width: 100%;
}

.plustik-cart-product__view svg {
    width: 1.1rem;
    height: 1.1rem;
}

/* WooCommerce Cart Block: populated state. */
.plustik-cart-page .wc-block-components-sidebar-layout.wc-block-cart {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1.55fr) minmax(19rem, 0.75fr);
    gap: var(--plustik-space-xl);
    align-items: start;
    direction: rtl;
}

.plustik-cart-page .wc-block-cart__main,
.plustik-cart-page .wc-block-cart__sidebar {
    float: none;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
}

.plustik-cart-page .wc-block-cart__main {
    min-width: 0;
    grid-column: 1;
}

.plustik-cart-page .wc-block-cart__sidebar {
    position: sticky;
    inset-block-start: var(--plustik-space-lg);
    grid-column: 2;
    padding: var(--plustik-space-lg);
    border: var(--plustik-border-width) solid var(--plustik-border);
    border-radius: var(--plustik-radius-lg);
    background: var(--plustik-white);
    box-shadow: var(--plustik-shadow-raised);
}

.plustik-cart-page table.wc-block-cart-items {
    width: 100%;
    margin: 0;
    border: var(--plustik-border-width) solid var(--plustik-border);
    border-spacing: 0;
    border-radius: var(--plustik-radius-lg);
    background: var(--plustik-white);
    box-shadow: var(--plustik-shadow-soft);
    table-layout: fixed;
}

.plustik-cart-page .wc-block-cart-items caption {
    overflow: hidden;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.plustik-cart-page .wc-block-cart-items__header {
    color: var(--plustik-muted);
    font-size: var(--plustik-font-size-sm);
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .wc-block-cart-items__header th {
    padding: var(--plustik-space-md);
    border: 0;
    border-bottom: var(--plustik-border-width) solid var(--plustik-border);
    background: var(--plustik-surface);
    color: var(--plustik-muted);
    font-weight: var(--plustik-weight-regular);
    text-align: start;
}

.plustik-cart-page .wc-block-cart.is-large table.wc-block-cart-items .wc-block-cart-items__header-image,
.plustik-cart-page .wc-block-cart.is-large table.wc-block-cart-items .wc-block-cart-item__image {
    width: 8.5rem;
}

.plustik-cart-page .wc-block-cart-items__header-total,
.plustik-cart-page .wc-block-cart-item__total {
    width: 8rem;
    text-align: end;
}

body.plustik-cart-page .wc-block-cart.is-large table.wc-block-cart-items .wc-block-cart-item__product {
    width: auto;
}

body.plustik-cart-page .wc-block-cart.is-large table.wc-block-cart-items .wc-block-cart-item__total {
    display: table-cell;
}

.plustik-cart-page .wc-block-cart-items__row td {
    box-sizing: border-box;
    padding: var(--plustik-space-lg) var(--plustik-space-md);
    border: 0;
    border-bottom: var(--plustik-border-width) solid var(--plustik-border);
    vertical-align: top;
}

.plustik-cart-page .wc-block-cart-items__row:last-child td {
    border-bottom: 0;
}

.plustik-cart-page .wc-block-cart.is-large .wc-block-cart-item__image a {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--plustik-radius-md);
    background: var(--plustik-surface);
}

.plustik-cart-page .wc-block-cart.is-large .wc-block-cart-item__image img {
    display: block;
    width: 100%;
    margin: 0;
    aspect-ratio: 1;
    object-fit: cover;
}

.plustik-cart-page .wc-block-cart-item__product,
.plustik-cart-page .wc-block-cart-item__wrap {
    min-width: 0;
}

body.plustik-cart-page .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
body.plustik-cart-page .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
body.plustik-cart-page .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 5.5rem minmax(0, 1fr);
}

body.plustik-cart-page .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-item__image,
body.plustik-cart-page .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__image,
body.plustik-cart-page .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__image {
    width: auto;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    padding-inline-end: 0;
}

body.plustik-cart-page .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-item__product,
body.plustik-cart-page .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__product,
body.plustik-cart-page .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__product {
    width: auto;
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
}

body.plustik-cart-page .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-item__total,
body.plustik-cart-page .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__total,
body.plustik-cart-page .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__total {
    display: none;
}

.plustik-cart-page .wc-block-cart .wc-block-cart-item__product .wc-block-components-product-name {
    display: inline-block;
    margin-bottom: var(--plustik-space-xs);
    color: var(--plustik-ink);
    font-family: var(--plustik-font-body);
    font-size: var(--plustik-font-size-lead);
    font-weight: var(--plustik-weight-regular);
    line-height: var(--plustik-line-height-compact);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.plustik-cart-page .wc-block-cart .wc-block-cart-item__product .wc-block-components-product-name:hover {
    color: var(--plustik-primary-hover);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.plustik-cart-page .wc-block-cart-item__prices,
.plustik-cart-page .wc-block-cart-item__total,
.plustik-cart-page .wc-block-components-product-price,
.plustik-cart-page .wc-block-components-formatted-money-amount {
    color: var(--plustik-primary-hover);
    font-family: var(--plustik-font-body);
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .wc-block-components-product-metadata {
    max-width: 40rem;
    margin: var(--plustik-space-sm) 0;
    color: var(--plustik-muted);
    font-size: var(--plustik-font-size-sm);
    font-weight: var(--plustik-weight-regular);
    line-height: var(--plustik-line-height-body);
}

.plustik-cart-page .wc-block-components-product-metadata__description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.plustik-cart-page .wc-block-cart-item__quantity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--plustik-space-sm);
    margin-top: var(--plustik-space-md);
}

.plustik-cart-page .wc-block-components-quantity-selector {
    display: inline-grid;
    min-width: 8.5rem;
    min-height: var(--plustik-control-height);
    overflow: hidden;
    grid-template-columns: var(--plustik-control-height) minmax(2.5rem, 1fr) var(--plustik-control-height);
    border: var(--plustik-border-width) solid var(--plustik-border);
    border-radius: var(--plustik-radius-md);
    background: var(--plustik-white);
}

.plustik-cart-page .wc-block-components-quantity-selector::after {
    display: none;
}

.plustik-cart-page .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    width: 100%;
    min-height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--plustik-ink);
    font-family: var(--plustik-font-body);
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .wc-block-components-quantity-selector__button {
    display: inline-flex;
    min-width: var(--plustik-control-height);
    min-height: var(--plustik-control-height);
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--plustik-surface);
    box-shadow: none;
    color: var(--plustik-ink);
}

.plustik-cart-page .wc-block-components-quantity-selector__button:hover:not(:disabled) {
    background: var(--plustik-primary-soft);
    color: var(--plustik-primary-hover);
    transform: none;
}

.plustik-cart-page .wc-block-cart-item__remove-link {
    display: inline-flex;
    min-width: var(--plustik-control-height);
    min-height: var(--plustik-control-height);
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: var(--plustik-border-width) solid var(--plustik-danger);
    border-radius: var(--plustik-radius-md);
    background: var(--plustik-white);
    box-shadow: none;
    color: var(--plustik-danger);
}

.plustik-cart-page .wc-block-cart-item__remove-link:hover {
    background: var(--plustik-danger-soft);
    transform: none;
}

.plustik-cart-page .wc-block-cart__totals-title {
    margin: 0 0 var(--plustik-space-md);
    padding: 0 0 var(--plustik-space-md);
    border-bottom: var(--plustik-border-width) solid var(--plustik-border);
    color: var(--plustik-ink);
    font-size: var(--plustik-font-size-title);
    text-align: start;
}

.plustik-cart-page .wc-block-components-totals-wrapper {
    padding-block: var(--plustik-space-md);
    border-bottom: var(--plustik-border-width) solid var(--plustik-border);
}

.plustik-cart-page .wc-block-components-panel__button,
.plustik-cart-page .wc-block-components-totals-item {
    color: var(--plustik-ink);
    font-family: var(--plustik-font-body);
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .wc-block-components-panel__button {
    min-height: var(--plustik-control-height);
}

.plustik-cart-page .wc-block-components-totals-coupon__form {
    gap: var(--plustik-space-sm);
    margin-top: var(--plustik-space-sm);
}

.plustik-cart-page .wc-block-components-totals-coupon__input {
    min-width: 0;
}

.plustik-cart-page .wc-block-components-totals-footer-item {
    padding-block: var(--plustik-space-lg);
    font-size: var(--plustik-font-size-lead);
}

.plustik-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.plustik-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .wc-block-cart__submit {
    margin: var(--plustik-space-lg) 0 0;
}

body.plustik-cart-page .site-main .entry-content .wc-block-cart__submit-button {
    width: 100%;
    min-height: 3.25rem;
    border-radius: var(--plustik-radius-md);
    text-decoration: none;
    text-decoration-line: none;
}

body.plustik-cart-page .site-main .entry-content .wc-block-cart__submit-button:hover,
body.plustik-cart-page .site-main .entry-content .wc-block-cart__submit-button:focus,
body.plustik-cart-page .site-main .entry-content .wc-block-cart__submit-button:focus-visible,
body.plustik-cart-page .site-main .entry-content .wc-block-cart__submit-button .wc-block-components-button__text {
    text-decoration: none;
    text-decoration-line: none;
}

/* Empty Cart Block and cart recommendation grids. */
.plustik-cart-page .wp-block-woocommerce-empty-cart-block {
    padding-block: var(--plustik-space-lg) var(--plustik-space-2xl);
}

.plustik-cart-page .wc-block-cart__empty-cart__title {
    max-width: 46rem;
    margin: 0 auto var(--plustik-space-xl);
    padding: var(--plustik-space-2xl) var(--plustik-space-xl);
    border: var(--plustik-border-width) dashed var(--plustik-primary-border);
    border-radius: var(--plustik-radius-xl);
    background:
        radial-gradient(circle at 15% 15%, var(--plustik-brand-blue-soft), transparent 34%),
        var(--plustik-primary-soft);
    color: var(--plustik-ink);
    font-size: var(--plustik-font-size-title);
    box-shadow: var(--plustik-shadow-soft);
}

.plustik-cart-page .wc-block-cart__empty-cart__title::before {
    color: var(--plustik-primary);
}

.plustik-cart-page .wp-block-woocommerce-empty-cart-block > .wp-block-separator {
    display: none;
}

.plustik-cart-page .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title),
.plustik-cart-page .wp-block-woocommerce-product-collection > .wp-block-heading {
    margin: 0 0 var(--plustik-space-lg);
    color: var(--plustik-ink);
    font-size: var(--plustik-font-size-heading);
    text-align: center;
}

.plustik-cart-page .wc-block-grid__products,
.plustik-cart-page .wc-block-product-template {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--plustik-space-lg);
}

.plustik-cart-page .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.plustik-cart-page .wc-block-grid__product,
.plustik-cart-page .wc-block-product {
    display: flex;
    width: auto;
    max-width: none;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    margin: 0;
    padding: 0 0 var(--plustik-space-md);
    border: var(--plustik-border-width) solid var(--plustik-border);
    border-radius: var(--plustik-radius-lg);
    background: var(--plustik-white);
    box-shadow: var(--plustik-shadow-soft);
}

.plustik-cart-page .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products .wc-block-grid__product {
    width: 100%;
    max-width: none;
    flex: none;
}

.plustik-cart-page .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wc-block-grid__product-image {
    display: block;
    width: 100%;
}

.plustik-cart-page .wc-block-grid__product-image,
.plustik-cart-page .wc-block-components-product-image {
    margin: 0;
}

.plustik-cart-page .wc-block-grid__product-image img,
.plustik-cart-page .wc-block-components-product-image img {
    display: block;
    width: 100%;
    margin: 0;
    aspect-ratio: 1;
    object-fit: cover;
}

.plustik-cart-page .wc-block-grid__product-title,
.plustik-cart-page .wp-block-post-title {
    margin: var(--plustik-space-md) var(--plustik-space-md) var(--plustik-space-xs);
    color: var(--plustik-ink);
    font-family: var(--plustik-font-body);
    font-size: var(--plustik-font-size-body);
    font-weight: var(--plustik-weight-regular);
    line-height: var(--plustik-line-height-compact);
    overflow-wrap: anywhere;
}

.plustik-cart-page .wc-block-grid__product-price,
.plustik-cart-page .wp-block-woocommerce-product-price {
    min-height: 3rem;
    margin: auto var(--plustik-space-md) 0;
    padding-top: var(--plustik-space-sm);
    color: var(--plustik-primary-hover);
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .wc-block-grid__product-add-to-cart,
.plustik-cart-page .wp-block-woocommerce-product-button {
    margin: var(--plustik-space-md);
}

.plustik-cart-page .plustik-cart-product__view {
    width: 100%;
}

/* Classic cart fallback for future gateway/shipping compatibility decisions. */
.plustik-cart-page .woocommerce-cart-form {
    float: right;
    width: calc(66.666% - var(--plustik-space-lg));
    margin: 0;
}

.plustik-cart-page .woocommerce-cart-form table.shop_table {
    overflow: hidden;
    border: var(--plustik-border-width) solid var(--plustik-border);
    border-radius: var(--plustik-radius-lg);
    background: var(--plustik-white);
    box-shadow: var(--plustik-shadow-soft);
}

.plustik-cart-page .woocommerce-cart-form table.shop_table th,
.plustik-cart-page .woocommerce-cart-form table.shop_table td {
    padding: var(--plustik-space-md);
    border-color: var(--plustik-border);
    background: transparent;
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .woocommerce-cart-form .product-thumbnail img {
    width: 5.5rem;
    border-radius: var(--plustik-radius-md);
}

.plustik-cart-page .woocommerce-cart-form .product-name a {
    color: var(--plustik-ink);
    font-weight: var(--plustik-weight-regular);
}

.plustik-cart-page .woocommerce-cart-form .quantity .qty {
    width: 5rem;
}

.plustik-cart-page .woocommerce-cart-form .coupon {
    display: flex;
    gap: var(--plustik-space-sm);
}

.plustik-cart-page .woocommerce-cart-form .coupon .input-text {
    width: min(16rem, 100%);
}

.plustik-cart-page .cart-collaterals {
    float: left;
    width: calc(33.333% - var(--plustik-space-lg));
}

.plustik-cart-page .cart-collaterals .cart_totals {
    width: 100%;
    padding: var(--plustik-space-lg);
    border: var(--plustik-border-width) solid var(--plustik-border);
    border-radius: var(--plustik-radius-lg);
    background: var(--plustik-white);
    box-shadow: var(--plustik-shadow-raised);
}

.plustik-cart-page .cart-collaterals .cart_totals h2 {
    font-size: var(--plustik-font-size-title);
}

.plustik-cart-page .cart-collaterals .cart_totals th,
.plustik-cart-page .cart-collaterals .cart_totals td {
    padding: var(--plustik-space-md) 0;
    border-color: var(--plustik-border);
    background: transparent;
    font-weight: var(--plustik-weight-regular);
}

body.plustik-cart-page .site-main .entry-content .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    margin: 0;
    text-decoration: none;
    text-decoration-line: none;
}

body.plustik-cart-page .site-main .entry-content .wc-proceed-to-checkout .checkout-button:hover,
body.plustik-cart-page .site-main .entry-content .wc-proceed-to-checkout .checkout-button:focus,
body.plustik-cart-page .site-main .entry-content .wc-proceed-to-checkout .checkout-button:focus-visible {
    text-decoration: none;
    text-decoration-line: none;
}

.plustik-cart-page .return-to-shop {
    text-align: center;
}

@media (max-width: 64rem) {
    .plustik-cart-page .wc-block-components-sidebar-layout.wc-block-cart {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--plustik-space-lg);
    }

    .plustik-cart-page .wc-block-cart__main,
    .plustik-cart-page .wc-block-cart__sidebar {
        grid-column: 1;
    }

    .plustik-cart-page .wc-block-cart__sidebar {
        position: static;
        width: min(100%, 42rem);
        justify-self: center;
    }

    .plustik-cart-page .wc-block-grid__products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .plustik-cart-page .wp-block-woocommerce-product-collection .wc-block-product-template {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .plustik-cart-page .woocommerce-cart-form,
    .plustik-cart-page .cart-collaterals {
        float: none;
        width: 100%;
    }

    .plustik-cart-page .cart-collaterals {
        margin-top: var(--plustik-space-xl);
    }
}

@media (max-width: 47.9375rem) {
    .plustik-cart-page .site-main {
        margin-bottom: var(--plustik-space-2xl);
    }

    .plustik-cart-page .wc-block-cart__sidebar {
        padding: var(--plustik-space-md);
    }

    .plustik-cart-page table.wc-block-cart-items {
        display: block;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .plustik-cart-page .wc-block-cart-items thead {
        display: none;
    }

    .plustik-cart-page .wc-block-cart-items tbody {
        display: grid;
        gap: var(--plustik-space-md);
    }

    .plustik-cart-page .wc-block-cart-items__row {
        display: grid;
        overflow: hidden;
        grid-template-columns: 5.5rem minmax(0, 1fr);
        border: var(--plustik-border-width) solid var(--plustik-border);
        border-radius: var(--plustik-radius-lg);
        background: var(--plustik-white);
        box-shadow: var(--plustik-shadow-soft);
    }

    .plustik-cart-page .wc-block-cart-items__row td {
        display: block;
        width: auto;
        padding: var(--plustik-space-md);
        border: 0;
    }

    .plustik-cart-page .wc-block-cart-item__image {
        grid-column: 1;
        grid-row: 1;
        padding-inline-end: 0;
    }

    .plustik-cart-page .wc-block-cart-item__product {
        grid-column: 2;
        grid-row: 1;
    }

    body.plustik-cart-page .wc-block-cart.is-medium table.wc-block-cart-items .wc-block-cart-item__total,
    body.plustik-cart-page .wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-item__total,
    body.plustik-cart-page .wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-item__total {
        display: none;
    }

    .plustik-cart-page .wc-block-components-product-metadata__description {
        -webkit-line-clamp: 3;
    }

    .plustik-cart-page .wc-block-cart-item__quantity {
        align-items: center;
        flex-wrap: nowrap;
        flex-direction: row;
    }

    .plustik-cart-page .wc-block-components-quantity-selector {
        width: auto;
        flex: 1 1 auto;
    }

    .plustik-cart-page .wc-block-cart-item__remove-link {
        flex: 0 0 var(--plustik-control-height);
    }

    .plustik-cart-page .wc-block-grid__products,
    .plustik-cart-page .wp-block-woocommerce-product-collection .wc-block-product-template {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--plustik-space-md);
    }

    .plustik-cart-page .wc-block-grid__product,
    .plustik-cart-page .wc-block-product {
        max-width: 28rem;
        margin-inline: auto;
    }

    .plustik-cart-page .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products .wc-block-grid__product {
        max-width: 28rem;
    }

    .plustik-cart-page .wc-block-cart__empty-cart__title {
        padding: var(--plustik-space-xl) var(--plustik-space-md);
        font-size: var(--plustik-font-size-lead);
    }

    .plustik-cart-page .woocommerce-cart-form .coupon {
        align-items: stretch;
        flex-direction: column;
    }

    .plustik-cart-page .woocommerce-cart-form .coupon .input-text,
    .plustik-cart-page .woocommerce-cart-form .coupon .button {
        width: 100%;
    }
}
