/* ─── Cart Page ─── */

.woocommerce-cart .bh-wc-content {
    padding: var(--bh-space-xl) 0 var(--bh-space-3xl);
}

.bh-cart-header {
    margin-bottom: var(--bh-space-xl);
}

.bh-cart-header h1 {
    font-size: var(--bh-fs-3xl);
    font-weight: var(--bh-fw-bold);
}

/* Cart Table */
.woocommerce-cart-form table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart-form th {
    font-size: var(--bh-fs-xs);
    font-weight: var(--bh-fw-semibold);
    text-transform: uppercase;
    letter-spacing: var(--bh-ls-wider);
    color: var(--bh-text-secondary);
    padding: var(--bh-space-sm) 0;
    border-bottom: 2px solid var(--bh-color-primary);
    text-align: left;
}

.woocommerce-cart-form td {
    padding: var(--bh-space-md) 0;
    border-bottom: 1px solid var(--bh-border-color);
    vertical-align: middle;
}

.woocommerce-cart-form .product-thumbnail img {
    width: 80px;
    height: 100px;
    object-fit: cover;
}

.woocommerce-cart-form .product-name a {
    font-size: var(--bh-fs-base);
    font-weight: var(--bh-fw-medium);
    transition: color var(--bh-transition-fast);
}

.woocommerce-cart-form .product-name a:hover {
    color: var(--bh-text-secondary);
}

.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
    font-weight: var(--bh-fw-semibold);
}

.woocommerce-cart-form .product-remove a {
    color: var(--bh-text-tertiary);
    font-size: var(--bh-fs-lg);
    transition: color var(--bh-transition-fast);
}

.woocommerce-cart-form .product-remove a:hover {
    color: var(--bh-color-error);
}

/* Cart Totals */
.cart_totals {
    max-width: 420px;
    margin-left: auto;
    padding: var(--bh-space-lg);
    border: 1px solid var(--bh-border-color);
    margin-top: var(--bh-space-xl);
}

.cart_totals h2 {
    font-size: var(--bh-fs-lg);
    font-weight: var(--bh-fw-bold);
    margin-bottom: var(--bh-space-md);
}

.cart_totals table {
    width: 100%;
}

.cart_totals th,
.cart_totals td {
    padding: var(--bh-space-sm) 0;
    border-bottom: 1px solid var(--bh-border-color-light);
    font-size: var(--bh-fs-sm);
}

.cart_totals th {
    text-align: left;
    font-weight: var(--bh-fw-medium);
    color: var(--bh-text-secondary);
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    font-size: var(--bh-fs-lg);
    font-weight: var(--bh-fw-bold);
    border-bottom: none;
    padding-top: var(--bh-space-md);
}

.cart_totals .wc-proceed-to-checkout a {
    display: block;
    width: 100%;
    padding: var(--bh-space-md);
    background-color: var(--bh-color-primary);
    color: var(--bh-text-inverse);
    text-align: center;
    font-weight: var(--bh-fw-semibold);
    border-radius: var(--bh-border-radius-pill);
    margin-top: var(--bh-space-md);
    transition: background-color var(--bh-transition-base);
}

.cart_totals .wc-proceed-to-checkout a:hover {
    background-color: var(--bh-color-primary-hover);
}

/* Coupon */
.coupon {
    display: flex;
    gap: var(--bh-space-xs);
    margin-top: var(--bh-space-md);
}

.coupon input {
    flex: 1;
    height: 44px;
    padding: 0 var(--bh-space-md);
    border: 1px solid var(--bh-border-color);
    font-size: var(--bh-fs-sm);
}

.coupon button {
    padding: 0 var(--bh-space-lg);
    height: 44px;
    background-color: var(--bh-color-primary);
    color: var(--bh-text-inverse);
    font-size: var(--bh-fs-sm);
    font-weight: var(--bh-fw-semibold);
    border: none;
    cursor: pointer;
}

/* Empty Cart */
.cart-empty {
    text-align: center;
    padding: var(--bh-space-3xl) 0;
    font-size: var(--bh-fs-md);
    color: var(--bh-text-secondary);
}

.return-to-shop a {
    display: inline-block;
    padding: 12px 28px;
    background-color: var(--bh-color-primary);
    color: var(--bh-text-inverse);
    border-radius: var(--bh-border-radius-pill);
    font-weight: var(--bh-fw-semibold);
    margin-top: var(--bh-space-md);
}

@media (max-width: 768px) {
    .cart_totals { max-width: 100%; }

    .woocommerce-cart-form table,
    .woocommerce-cart-form thead,
    .woocommerce-cart-form tbody,
    .woocommerce-cart-form th,
    .woocommerce-cart-form td,
    .woocommerce-cart-form tr {
        display: block;
    }

    .woocommerce-cart-form thead { display: none; }

    .woocommerce-cart-form tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--bh-space-sm);
        padding: var(--bh-space-md) 0;
        border-bottom: 1px solid var(--bh-border-color);
    }
}