.woo-main .woo-page-title,
.page-content .page-title {
    text-align:     center;
    font-size:      44px;
    font-weight:    600;
    letter-spacing: -0.02em;
    color:          var(--color-text);
    margin-bottom:  40px;
}

.woocommerce-notices-wrapper { display: none; }

.woo-main,
.page-content { padding: 40px 0 80px; }

.woo-main .woocommerce,
.page-content .entry-content { max-width: 960px; margin: 0 auto; }

.woocommerce-cart-form__contents,
.woocommerce table.shop_table {
    width:           100%;
    border-collapse: collapse;
    background:      var(--glass-bg);
    border-radius:   var(--radius-lg);
    box-shadow:      var(--glass-shadow), var(--glass-highlight);
    -webkit-backdrop-filter: blur(var(--glass-blur));
            backdrop-filter: blur(var(--glass-blur));
    font-size:       14px;
}

.woocommerce table.shop_table th {
    font-size:      12px;
    font-weight:    600;
    color:          var(--color-muted);
    text-transform: none;
    padding:        14px 12px;
    border-bottom:  2px solid var(--color-border);
    text-align:     left;
    background:     transparent;
}

.woocommerce table.shop_table td {
    padding:        16px 12px;
    border-bottom:  1px solid var(--color-border);
    vertical-align: middle;
    color:          var(--color-text);
    background:     transparent;
}

.woocommerce table.shop_table .product-remove {
    width:      50px;
    text-align: center;
}

.woocommerce table.shop_table .product-remove a.remove {
    color:           var(--color-primary) !important;
    font-size:       20px;
    font-weight:     700;
    text-decoration: none;
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           28px;
    height:          28px;
    border-radius:   50%;
    transition:      all var(--transition);
}

.woocommerce table.shop_table .product-remove a.remove:hover {
    background: rgba(230,57,82,.08);
}

.woocommerce table.shop_table .product-thumbnail {
    width: 80px;
}

.woocommerce table.shop_table .product-thumbnail img {
    width:         64px;
    height:        64px;
    object-fit:    cover;
    border-radius: var(--radius);
    display:       block;
}

.woocommerce table.shop_table .product-name {
    font-weight: 500;
    color:       var(--color-text);
}

.woocommerce table.shop_table .product-name a {
    color:           var(--color-text);
    text-decoration: none;
    transition:      color var(--transition);
}

.woocommerce table.shop_table .product-name a:hover { color: var(--color-primary); }

.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
    font-weight: 600;
    color:       var(--color-text);
}

.woocommerce table.shop_table .product-quantity .quantity {
    display: inline-flex;
}

.woocommerce table.shop_table .product-quantity input.qty {
    width:         56px;
    height:        36px;
    text-align:    center;
    border:        1px solid var(--color-border-hover);
    border-radius: var(--radius);
    font-size:     14px;
    font-weight:   600;
    color:         var(--color-text);
    font-family:   inherit;
    background:    rgba(255, 255, 255, 0.05);
    -moz-appearance:    textfield;
}

.woocommerce table.shop_table .product-quantity input.qty::-webkit-inner-spin-button,
.woocommerce table.shop_table .product-quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin:             0;
}

.woocommerce table.shop_table .product-quantity input.qty:focus {
    outline:      none;
    border-color: var(--color-primary);
}

.woocommerce table.shop_table td.actions {
    padding:         16px 20px;
    border:          none;
    background:      transparent;
    display:         flex;
    justify-content: flex-end;
    align-items:     center;
}

.woocommerce table.shop_table .coupon { display: none; }

.woocommerce table.shop_table .actions button[name="update_cart"] {
    background:    var(--glass-bg-strong);
    border:        1px solid var(--glass-border);
    border-radius: 40px;
    padding:       12px 32px;
    font-size:     13px;
    font-weight:   600;
    color:         var(--color-text);
    cursor:        pointer;
    font-family:   inherit;
    transition:    all var(--transition);
}

.woocommerce table.shop_table .actions button[name="update_cart"]:hover {
    border-color: var(--color-primary);
    color:        var(--color-primary);
    box-shadow:   0 0 24px rgba(255, 59, 99, 0.22);
}

.woocommerce table.shop_table .actions button[name="update_cart"]:disabled {
    opacity: .4;
    cursor:  default;
}

.cart-collaterals {
    margin-top: 28px;
    display:    flex;
    justify-content: flex-end;
}

.cart_totals {
    width:     100%;
    max-width: 380px;
}

.cart_totals h2 { display: none; }

.cart_totals .shop_table {
    background:     var(--glass-bg);
    border:        1px solid var(--glass-border);
    border-radius: var(--radius);
    box-shadow:    var(--glass-shadow), var(--glass-highlight);
    -webkit-backdrop-filter: blur(var(--glass-blur));
            backdrop-filter: blur(var(--glass-blur));
    overflow:      hidden;
    margin-bottom: 20px;
}

.cart_totals .shop_table th {
    font-size:      14px;
    font-weight:    600;
    color:          var(--color-text);
    text-transform: none;
    border-bottom:  1px solid var(--color-border);
    padding:        14px 20px;
    background:     transparent;
}

.cart_totals .shop_table td {
    text-align:    right;
    font-weight:   600;
    color:         var(--color-text);
    padding:       14px 20px;
    border-bottom: 1px solid var(--color-border);
    background:    transparent;
}

.cart_totals .shop_table tr:last-child th,
.cart_totals .shop_table tr:last-child td {
    border-bottom: none;
}

.cart_totals .order-total .woocommerce-Price-amount {
    font-size:   18px;
    font-weight: 800;
    color:       var(--color-text);
}

.wc-proceed-to-checkout {
    text-align: center;
}

.wc-proceed-to-checkout .checkout-button {
    display:       inline-flex;
    align-items:   center;
    justify-content: center;
    width:         100%;
    padding:       16px 32px;
    border-radius: 40px;
    font-size:     16px;
    font-weight:   700;
    background:    var(--gradient-accent);
    color:         #fff;
    text-decoration: none;
    border:        none;
    cursor:        pointer;
    font-family:   inherit;
    box-shadow:    0 4px 20px rgba(230,57,82,.28);
    transition:    all var(--transition);
}

.wc-proceed-to-checkout .checkout-button:hover {
    transform:  translateY(-2px);
    box-shadow: 0 8px 28px rgba(230,57,82,.4);
    color:      #fff;
}

.woocommerce-cart-form + .cart-collaterals { margin-top: 32px; }

.woocommerce .cart-empty {
    text-align: center;
    padding:    60px 0;
    font-size:  16px;
    color:      var(--color-muted);
}

.woocommerce .return-to-shop {
    text-align: center;
    margin-top: 20px;
}

.woocommerce .return-to-shop a {
    display:       inline-flex;
    padding:       14px 28px;
    border-radius: 40px;
    background:    var(--gradient-accent);
    color:         #fff;
    text-decoration: none;
    font-weight:   600;
    font-size:     15px;
    transition:    all var(--transition);
    box-shadow:    0 4px 20px rgba(230,57,82,.28);
}

.woocommerce .return-to-shop a:hover {
    transform:  translateY(-2px);
    box-shadow: 0 8px 28px rgba(230,57,82,.4);
    color:      #fff;
}

@media (max-width: 768px) {
    .woocommerce table.shop_table,
    .woocommerce table.shop_table thead,
    .woocommerce table.shop_table tbody,
    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td,
    .woocommerce table.shop_table tr {
        display: block;
    }

    .woocommerce table.shop_table thead { display: none; }

    .woocommerce table.shop_table tr {
        padding:       16px;
        margin-bottom: 12px;
        border:        1px solid var(--color-border);
        border-radius: var(--radius);
        position:      relative;
    }

    .woocommerce table.shop_table td {
        padding:       6px 0;
        border-bottom: none;
        text-align:    left;
    }

    .woocommerce table.shop_table td[data-title]::before {
        content:     attr(data-title) ': ';
        font-weight: 600;
        color:       var(--color-muted);
        margin-right: 8px;
    }

    .woocommerce table.shop_table td.product-remove::before,
    .woocommerce table.shop_table td.product-thumbnail::before,
    .woocommerce table.shop_table td.actions::before {
        content: none;
    }

    .woocommerce table.shop_table .product-remove {
        position: absolute;
        top:      8px;
        right:    8px;
        width:    auto;
    }

    .woocommerce table.shop_table .product-thumbnail {
        width: auto;
    }

    .woocommerce table.shop_table .actions button[name="update_cart"] {
        width: 100%;
    }

    .cart_totals { max-width: 100%; }
}

@media (max-width: 560px) {
    .woo-main .woo-page-title,
    .page-content .page-title        { font-size: 24px; }
    .woocommerce table.shop_table tr { padding: 12px; }
    .woocommerce table.shop_table td { font-size: 14px; }
    .cart_totals h2                  { font-size: 18px; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .woocommerce-cart-form__contents,
    .woocommerce table.shop_table,
    .cart_totals .shop_table {
        background: var(--color-card);
    }
}
