body.vx-scroll-locked { overflow: hidden !important; }
.vx-cart-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1055; visibility: hidden; opacity: 0; transition: opacity 0.25s ease, visibility 0.25s ease; }
.vx-cart-modal.vx-active { visibility: visible; opacity: 1; }
.vx-cart-backdrop { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(18, 35, 88, 0.4); backdrop-filter: blur(2px); }
.vx-cart-dialog { position: fixed; top: 50%; left: 50%; width: 480px; max-width: calc(100vw - 32px); max-height: 85vh; background: #FFFFFF; border: 1px solid #E4DFD8; border-radius: 12px; box-shadow: 0 12px 32px rgba(34, 29, 20, 0.12); display: flex; flex-direction: column; overflow: hidden; z-index: 1; transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); transform: translate(-50%, -48%); }
.vx-cart-modal.vx-active .vx-cart-dialog { transform: translate(-50%, -50%); }
.vx-cart-header { background-color: #FFFFFF; color: #221D14; }
.vx-cart-body { overflow-y: auto; max-height: 50vh; background-color: #FFFFFF; }
.vx-cart-thumb-wrap { width: 60px; height: 60px; border-radius: 6px; overflow: hidden; background: #F8F6F2; }
.vx-cart-thumb { width: 100%; height: 100%; object-fit: contain; display: block; }
.vx-cart-item-title { font-size: 0.875rem; color: #221D14; }
.vx-cart-item-price { color: #726A5A; font-weight: 500; }
.vx-qty-control { width: 96px; }
.vx-qty-btn { font-weight: 600; padding: 0.15rem 0.4rem; color: #221D14; border-color: #E4DFD8; background-color: #F8F6F2; }
.vx-qty-input { height: 28px; font-size: 0.8rem; border-color: #E4DFD8; }
.vx-qty-input::-webkit-outer-spin-button, .vx-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vx-qty-input[type=number] { -moz-appearance: textfield; }
.vx-remove-link { font-size: 0.75rem; color: #C3BEB6; transition: color 0.15s; }
.vx-remove-link:hover { color: #2746A5; }
.vx-cart-footer { background-color: #F6F2ED !important; border-top-color: #E4DFD8 !important; }
.vx-cart-footer .btn-primary { background-color: #2746A5; border-color: #2746A5; color: #FFFFFF; }
.vx-cart-footer .btn-primary:hover { background-color: #203A88; border-color: #203A88; }
.vx-cart-footer .btn-outline-secondary { color: #221D14; border-color: #E4DFD8; background-color: #FFFFFF; }
.vx-cart-footer .btn-outline-secondary:hover { background-color: #E4DFD8; border-color: #E4DFD8; }
.vx-empty-cart { color: #726A5A; }
.badge[data-cart-indicator] { font-size: 0.75rem; background-color: #2746A5; color: #FFFFFF; }
@media (max-width: 576px) {
  .vx-cart-dialog { width: calc(100vw - 24px); max-height: 80vh; }
  .vx-cart-body { max-height: calc(80vh - 200px); }
}