[x-cloak] { display: none !important; }
.retail-cart-backdrop { position: fixed; inset: 0; z-index: 100000000; background: rgba(15, 28, 46, .4); }
.retail-cart-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 100000001; width: 440px; max-width: 100%; display: flex; flex-direction: column; background: #fff; box-shadow: -8px 0 40px rgba(0, 0, 0, .15); }
.retail-cart-transition { transition: transform .25s ease; }
.retail-cart-offscreen { transform: translateX(100%); }
.retail-cart-onscreen { transform: translateX(0); }
.retail-cart-heading { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid #e4e8ed; }
.retail-cart-heading h2 { margin: 0; font-size: 1.25rem; }
.retail-icon-button { flex-shrink: 0; width: 38px; height: 38px; padding: 8px; border: 1px solid #dce2e8; border-radius: 5px; background: #fff; color: #445267; cursor: pointer; }
.retail-icon-button:hover { background: #f1f4f8; }
.retail-icon-button:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 2px; }
.retail-icon-button:disabled { opacity: .45; cursor: wait; }
.retail-cart-content { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px; }
.retail-cart-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 10px; border: 1px solid #e4e8ed; border-radius: 7px; margin-bottom: 12px; }
.retail-cart-thumbnail { flex-shrink: 0; width: 64px; height: 64px; border-radius: 5px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #eef2f7; color: #76869a; }
.retail-cart-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.retail-cart-item-copy { flex: 1; min-width: 0; }
.retail-cart-item h3 { font-size: .9rem; line-height: 1.45; margin: 0 0 5px; overflow-wrap: anywhere; }
.retail-cart-item h3 a { color: #243b55; }
.retail-cart-item p { font-size: .8rem; line-height: 1.5; margin: 0; color: #6c7787; }
.retail-cart-footer { padding: 16px 20px; border-top: 1px solid #e4e8ed; }
.retail-cart-footer .btn_1 { text-align: center; }
.retail-cart-empty { padding: 60px 12px; text-align: center; color: #778496; }
.retail-cart-empty i { margin-bottom: 18px; font-size: 2.5rem; }
@media (max-width: 575px) { .retail-cart-drawer { width: 100%; } }
