.m-cart-drawer {
  position: fixed;
  z-index: 99999;
  left: 0;
  width: 100vw;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
  top: var(--header-main-height);
}
.m-cart-drawer .m-cart-drawer__sidebar .m-cart-drawer__loader {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 2;
  transition: opacity 0.3s ease 0.1s, visibility 0s linear 0.4s;
}
.m-cart-drawer .m-cart-drawer__sidebar .m-cart-drawer__loader svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.m-cart-drawer.loading .m-cart-drawer__sidebar .m-cart-drawer__loader {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}
.m-cart-drawer.down {
  top: 0;
}
.m-cart-drawer.down .m-cart-drawer__items {
  flex: 1;
}
.m-cart-drawer.down .m-cart-drawer__underlay,
.m-cart-drawer.down .m-cart-drawer__sidebar {
  top: 0;
}
.m-cart-drawer.up {
  top: var(--header-main-height);
}
.m-cart-drawer.up .m-cart-drawer__items {
  flex: 1;
}
.m-cart-drawer.up .m-cart-drawer__underlay,
.m-cart-drawer.up .m-cart-drawer__sidebar {
  top: var(--header-main-height);
}
@media screen and (min-width: 1250px) {
  .m-cart-drawer.up .m-cart-drawer__underlay,
  .m-cart-drawer.up .m-cart-drawer__sidebar {
    top: 0;
  }
}
@media screen and (min-width: 1250px) {
  .m-cart-drawer.up {
    top: 0;
  }
}
@media screen and (min-width: 1250px) {
  .m-cart-drawer {
    top: 0;
  }
}
.m-cart-drawer.animate .m-cart-drawer__sidebar {
  transition: transform var(--default-transition-timing) var(--default-transition-easing), opacity var(--default-transition-timing) var(--default-transition-easing), visibility 0s var(--default-transition-timing) var(--default-transition-easing);
}
.m-cart-drawer.animate .m-cart-drawer__underlay {
  transition: opacity var(--default-transition-timing) var(--default-transition-easing), visibility 0s var(--default-transition-timing) var(--default-transition-easing);
}
.m-cart-drawer.active {
  pointer-events: auto;
}
.m-cart-drawer.active .m-cart-drawer__sidebar {
  visibility: visible;
  opacity: 1;
  transform: translate(0);
  transition: transform var(--default-transition-timing) var(--default-transition-easing), opacity var(--default-transition-timing) var(--default-transition-easing), visibility 0s;
}
.m-cart-drawer.active .m-cart-drawer__underlay {
  visibility: visible;
  opacity: 0.4;
  transition-duration: 0.3s, 0s;
  transition-delay: 0.1s, 0s;
  transition: opacity var(--default-transition-timing) var(--default-transition-easing), visibility 0s;
}
.m-cart-drawer__empty-title.h3 {
  margin-bottom: 1.6rem;
}
.m-cart-drawer.is-empty .m-cart-drawer__items,
.m-cart-drawer.is-empty .m-cart-drawer__footer {
  display: none;
}
.m-cart-drawer__sidebar {
  position: fixed;
  right: 0;
  z-index: 3000;
  height: 100%;
  height: calc(100% - var(--header-main-height));
  height: -webkit-fill-available;
  width: 40rem;
  max-width: calc(100vw - 5.6rem);
  padding: 1.5rem 1rem;
  background-color: var(--color-primary-bg);
  overflow: hidden;
  flex-direction: column;
  transform: translate(100%);
  visibility: hidden;
  opacity: 0;
  justify-content: space-between;
  top: var(--header-main-height);
}
@media screen and (min-width: 1250px) {
  .m-cart-drawer__sidebar {
    height: 100%;
    height: -webkit-fill-available;
    top: 0;
    padding: 2rem 1.5rem;
  }
}
.m-cart-drawer__underlay {
  position: fixed;
  z-index: 2400;
  visibility: hidden;
  left: 0;
  height: 100vh;
  width: 100%;
  opacity: 0;
  background: var(--color-black);
  top: var(--header-main-height);
}
@media screen and (min-width: 1250px) {
  .m-cart-drawer__underlay {
    top: 0;
  }
}
.m-cart-drawer__sub-header {
  justify-content: space-between;
  margin-bottom: 2rem;
}
.m-cart-drawer__sub-header .h5 {
  font-family: var(--ff-tertiary);
  text-transform: uppercase;
  font-size: var(--top-nav-fs);
  line-height: var(--top-nav-lh);
  letter-spacing: var(--letter-spacing-lg);
}
@media screen and (min-width: 990px) {
  .m-cart-drawer__sub-header .h5 {
    font-size: var(--top-nav-fs);
    letter-spacing: var(--letter-spacing-nav);
  }
}
.m-cart-drawer__header {
  margin-bottom: 2.5rem;
}
.m-cart-drawer__title {
  margin-bottom: 0.5rem;
}
.m-cart-drawer__heading, .m-cart-drawer__total-label {
  margin-bottom: 0;
}
.m-cart-drawer__total-value {
  font-family: var(--ff-tertiary);
  font-size: var(--price-fs-sm);
  line-height: var(--price-lh-sm);
}
.m-cart-drawer__close {
  padding: 0;
}
.m-cart-drawer__close .icon {
  display: block;
}
.m-cart-drawer .drawer__contents,
.m-cart-drawer .cart__contents, .m-cart-drawer__items {
  height: 100%;
}
.m-cart-drawer .cart__contents:has(+ .m-cart-drawer__upsell) {
  height: auto;
  padding-bottom: 3rem;
}
.m-cart-drawer__items, .m-cart-drawer__empty {
  flex: 1;
  overflow: auto;
}
.m-cart-drawer__footer {
  margin-top: 1rem;
}
.m-cart-drawer__footer > div:first-child {
  border-top: 1px solid var(--color-secondary-border);
}
.m-cart-drawer__tax-note, .m-cart-drawer__registry-message {
  margin-top: 1rem;
}
.m-cart-drawer__totals {
  padding-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.m-cart-drawer__total {
  justify-content: space-between;
  margin-bottom: 0.2rem;
}
.m-cart-drawer__actions .a-btn {
  width: 100%;
  display: block;
}
.m-cart-drawer__actions .o-cart__free-shipping,
.m-cart-drawer__actions .o-cart__loyalty {
  font-family: var(--ff-tertiary);
  text-align: center;
  font-size: var(--body-fs-sm);
  line-height: var(--body-lh-sm);
  color: var(--color-quaternary-body);
  font-weight: 400;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .m-cart-drawer__actions .o-cart__free-shipping,
  .m-cart-drawer__actions .o-cart__loyalty {
    font-size: var(--body-fs-xs);
    line-height: var(--body-lh-sm);
  }
}
.m-cart-drawer__actions .o-cart__loyalty {
  margin-top: 1rem;
}
.m-cart-drawer__actions .o-cart__loyalty a {
  color: var(--color-quaternary-body);
  transition: color var(--default-transition-timing) var(--default-transition-easing);
}
.m-cart-drawer__actions .o-cart__loyalty a:hover {
  color: var(--color-primary-body);
}
.m-cart-drawer__view-cart {
  margin-top: 1.5rem;
}
.m-cart-drawer__error {
  color: var(--color-state-error);
}
.m-cart-drawer__continue-shopping-btn, .m-cart-drawer__give-another-gift-btn {
  text-align: center;
  margin-top: 1rem;
}
@media screen and (min-width: 1250px) {
  .m-cart-drawer__continue-shopping-btn, .m-cart-drawer__give-another-gift-btn {
    margin-top: 1.5rem;
  }
}
.m-cart-drawer .o-cart__registry--shipping-message {
  font-family: var(--ff-tertiary);
  text-align: left;
  font-size: var(--body-fs-sm);
  line-height: var(--body-lh-sm);
  color: var(--color-quaternary-body);
  font-weight: 400;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .m-cart-drawer .o-cart__registry--shipping-message {
    font-size: var(--body-fs-xs);
    line-height: var(--body-lh-sm);
  }
}
.m-cart-drawer .m-list-payment {
  margin: 2rem 0 0 0;
}
.m-cart-drawer .m-list-payment .icon {
  width: 2.5rem;
}
