/* Cart Page Styles */

/* Grid layout overrides for desktop */
@media (min-width: 1024px) {
    .vb-cart-items { flex: 2; }
    .vb-cart-summary { flex: 1; }
}

.vb-cart-items { display: flex; flex-direction: column; gap: var(--sp-4); }

.vb-cart-item {
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
    background: var(--vb-white);
    padding: var(--sp-4);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    position: relative;
    transition: opacity var(--dur-fast);
}

@media (min-width: 640px) {
    .vb-cart-item { flex-direction: row; align-items: center; }
}

.vb-cart-item.updating { opacity: 0.5; pointer-events: none; }

.vb-cart-item__image {
    width: 100px;
    height: 120px;
    flex-shrink: 0;
    border-radius: var(--radius-base);
    overflow: hidden;
    background: var(--vb-gray-100);
}

.vb-cart-item__image img { width: 100%; height: 100%; object-fit: cover; }

.vb-cart-item__details { flex: 1; }

.vb-cart-item__title { font-size: var(--fs-base); font-weight: 700; margin-bottom: var(--sp-1); line-height: 1.3; }
.vb-cart-item__title a { color: var(--vb-gray-900); text-decoration: none; transition: color var(--dur-fast); }
.vb-cart-item__title a:hover { color: var(--vb-red); }

.vb-cart-item__variant { font-size: var(--fs-sm); color: var(--vb-gray-500); margin-bottom: var(--sp-2); }

.vb-cart-item__price-row { display: flex; align-items: baseline; gap: var(--sp-2); }
.vb-cart-item__price { font-weight: 800; color: var(--vb-gray-900); }
.vb-cart-item__original-price { font-size: var(--fs-sm); color: var(--vb-gray-400); text-decoration: line-through; }

.vb-cart-item__actions { display: flex; flex-direction: column; align-items: flex-end; gap: var(--sp-3); }
@media (max-width: 639px) {
    .vb-cart-item__actions { flex-direction: row; justify-content: space-between; align-items: center; width: 100%; }
}

.vb-quantity-input--sm { height: 36px; border-color: var(--vb-gray-200); }
.vb-quantity-input--sm button { width: 32px; height: 36px; font-size: 16px; }
.vb-quantity-input--sm input { width: 40px; font-size: var(--fs-sm); }

.vb-cart-item__remove { display: flex; align-items: center; gap: 4px; background: transparent; border: none; color: var(--vb-gray-400); font-size: var(--fs-xs); font-weight: 600; text-transform: uppercase; cursor: pointer; transition: color var(--dur-fast); }
.vb-cart-item__remove:hover { color: var(--vb-red); }

/* Order Summary */
.vb-cart-summary {
    background: var(--vb-white);
    padding: var(--sp-6);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    height: fit-content;
    position: sticky;
    top: 100px;
}

.vb-summary-row { display: flex; justify-content: space-between; margin-bottom: var(--sp-3); color: var(--vb-gray-700); font-size: var(--fs-sm); }
.vb-summary-divider { height: 1px; background: var(--vb-gray-200); margin: var(--sp-4) 0; }
.vb-summary-total { display: flex; justify-content: space-between; font-size: var(--fs-lg); font-weight: 900; color: var(--vb-gray-900); }
