body.ws5-cart-drawer-open { overflow: hidden; }
.ws5-cart-drawer-menu { position: fixed !important; top: 0 !important; right: 0 !important; left: auto !important; z-index: 2001; display: flex !important; flex-direction: column; visibility: hidden; width: min(30rem, 100vw); max-width: 100vw; height: 100vh; max-height: none; overflow: hidden; padding: 1.25rem; background: #fff; border-top: 0 !important; transform: translateX(100%); transition: transform .25s ease, visibility 0s linear .25s; box-shadow: -0.5rem 0 2rem rgba(0,0,0,.15); }
.ws5-cart-drawer-menu.ws5-cart-drawer-menu-open { visibility: visible; transform: translateX(0); transition-delay: 0s; }
.ws5-cart-drawer-backdrop { position: fixed; inset: 0; z-index: 2000; visibility: hidden; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .2s, visibility 0s linear .2s; }
.ws5-cart-drawer-backdrop.ws5-cart-drawer-backdrop-open { visibility: visible; opacity: 1; transition-delay: 0s; }
.ws5-cart-drawer-close { position: static; flex: 0 0 auto; margin: 0 0 0 .75rem; padding: 0; border: 0; background: transparent; color: #000; font-size: 1.75rem; line-height: 1; -webkit-appearance: none; appearance: none; }
.ws5-cart-drawer-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 0 .75rem; padding: 0; border-bottom: 0; }
.ws5-cart-drawer-empty { display: block; padding-left: 0; padding-right: 0; text-align: center; }
.ws5-cart-drawer-menu .table-responsive { max-height: none; }
.ws5-cart-drawer-menu .dropdown-body { padding-top: 0; padding-left: 0; padding-right: 0; }
.ws5-cart-drawer-scroll-region { flex: 1 1 auto; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.ws5-cart-drawer-sticky-actions-bar {
    display: none;
    flex: 0 0 auto;
    width: calc(100% + 2.5rem);
    margin: 0 -1.25rem -1.25rem;
    z-index: 3;
}
.ws5-cart-drawer-sticky-actions-bar.ws5-cart-drawer-sticky-actions-visible {
    display: block;
}
.ws5-cart-drawer-sticky-bloom {
    height: .9rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, .98));
    pointer-events: none;
}
.ws5-cart-drawer-sticky-actions-bar .ws5-cart-drawer-actions {
    margin: 0;
    padding: .75rem max(1.25rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
    background: #fff;
    border-top: 1px solid #cfcfcf;
    box-shadow: 0 -0.25rem 1rem rgba(25, 35, 45, .12);
}
.ws5-cart-drawer-sticky-actions-bar .cart-dropdown-buttons { flex-wrap: nowrap; margin: 0; }
.ws5-cart-drawer-sticky-actions-bar .cart-dropdown-buttons > [class*='col-'] {
    flex: 1 1 0;
    min-width: 0;
    max-width: 50%;
}
.ws5-cart-drawer-item-row > td { padding: .75rem 0; border-top: 1px solid #e5e5e5; }
.ws5-cart-drawer-item-row:first-child > td { border-top: 0; padding-top: 0; }
.ws5-cart-drawer-item-top { display: grid; grid-template-columns: 3.125rem minmax(0, 1fr) auto; column-gap: .625rem; align-items: center; }
.ws5-cart-drawer-item-top-collapsible { grid-template-columns: 3.125rem minmax(0, 1fr) auto auto; }
.ws5-cart-drawer-item-image { grid-row: 1; }
.ws5-cart-drawer-item-image img { display: block; }
.ws5-cart-drawer-item-price { white-space: nowrap; }
.ws5-cart-drawer-item-main { min-width: 0; }
.ws5-cart-drawer-item-name { line-height: 1.25; overflow-wrap: anywhere; }
.ws5-cart-drawer-item-name-link { overflow-wrap: anywhere; }
.ws5-cart-drawer-item-name-collapsible { position: relative; }
.ws5-cart-drawer-item-name-collapsible .ws5-cart-drawer-item-name-link { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ws5-cart-drawer-item-name-collapsible.ws5-cart-drawer-item-name-expanded .ws5-cart-drawer-item-name-link { display: block; overflow: visible; -webkit-line-clamp: unset; }
.ws5-cart-drawer-name-toggle { display: none; align-self: center; width: 1.25rem; height: 1.25rem; margin: 0; padding: 0; border: 1px solid #aaa; border-radius: .2rem; background: #fff; color: inherit; font: inherit; line-height: 1; text-align: center; cursor: pointer; }
.ws5-cart-drawer-item-details { grid-column: 2 / -1; min-width: 0; }
.ws5-cart-drawer-controls { display: flex; align-items: center; justify-content: flex-start; min-height: 2rem; margin: .5rem 0 0 3.75rem; }
.ws5-cart-drawer-quantity { display: inline-flex; align-items: center; margin-left: auto; border: 1px solid #ccc; }
.ws5-cart-drawer-quantity button, .ws5-cart-drawer-quantity input { width: 2rem; height: 2rem; border: 0; background: transparent; text-align: center; }
.ws5-cart-drawer-quantity button { color: #000; font: inherit; -webkit-appearance: none; appearance: none; }
.ws5-cart-drawer-quantity input { width: 3rem; }
.ws5-cart-drawer-quantity [data-ws5-cart-remove] { margin-left: .5rem; font-size: 1rem; }
.ws5-cart-drawer-description { margin-top: .25rem; color: #707070; font-size: .8125rem; }
.ws5-cart-drawer-product-details { margin: .35rem 0 0; color: #707070; font-size: .75rem; line-height: 1.45; }
.ws5-cart-drawer-product-details li { margin: 0; }
.ws5-cart-drawer-wishlist-form { display: flex; flex: 0 0 auto; align-items: center; width: auto; margin: 0; }
.ws5-cart-drawer-wishlist { padding: 0; font-size: .75rem; text-decoration: underline; }
.ws5-cart-drawer-wishlist .wishlist-icon { margin-right: .2rem; }
.ws5-cart-drawer-coupon { margin-top: 0; margin-bottom: 1.5rem; }
.ws5-cart-drawer-coupon .input-group { margin-bottom: 0; }
.ws5-cart-drawer-coupon-alerts { margin-bottom: .75rem; }
.ws5-cart-drawer-coupon-alerts .alert { margin-bottom: .5rem; }
.ws5-cart-drawer-cart-alerts { margin-bottom: .75rem; }
.ws5-cart-drawer-cart-alerts .alert { margin-bottom: .5rem; }
.ws5-cart-drawer-price-loading {
    animation: ws5-cart-drawer-skeleton-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    background: #e5e7eb;
    border-radius: .25rem;
    color: transparent !important;
    display: inline-block;
    height: .85rem;
    min-width: 3.8rem;
    vertical-align: middle;
}
.font-weight-bold-util .ws5-cart-drawer-price-loading { height: .9rem; }
@keyframes ws5-cart-drawer-skeleton-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .45; }
}

@media (max-width: 767.98px) {
    .ws5-cart-drawer-menu.ws5-cart-drawer-mobile-bottom {
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw;
        height: 75vh;
        max-height: 75vh;
        border-radius: .75rem .75rem 0 0;
        transform: translateY(100%);
        transition: transform .25s ease, visibility 0s linear .25s;
    }

    .ws5-cart-drawer-menu.ws5-cart-drawer-mobile-bottom.ws5-cart-drawer-menu-open {
        transform: translateY(0);
        transition-delay: 0s;
    }
}
