.m-cart-drawer {
  display: flex;
  height: 100%;
  justify-content: flex-end;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 99999
}

.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 {
  backdrop-filter: blur(2px);
  pointer-events: auto
}

.m-cart-drawer.active .m-cart-drawer__sidebar {
  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;
  visibility: visible
}

.m-cart-drawer.active .m-cart-drawer__underlay {
  opacity: .7;
  transition: opacity var(--default-transition-timing) var(--default-transition-easing), visibility 0s;
  visibility: visible
}

.m-cart-drawer.is-empty .m-cart-drawer__footer,
.m-cart-drawer.is-empty .m-cart-drawer__items {
  display: none
}

.m-cart-drawer__sidebar {
  flex-direction: column;
  height: 100%;
  max-width: 100vw;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  transform: translate(100%);
  visibility: hidden;
  width: 48rem;
  z-index: 3000
}

.m-cart-drawer__underlay {
  background: rgb(var(--color-black));
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 2400
}

.m-cart-drawer__header {
  border-bottom: 1px solid rgb(var(--color-border));
  justify-content: space-between;
  margin: 2rem;
  padding-bottom: 1.5rem
}

@media screen and (min-width:768px) {
  .m-cart-drawer__header {
    margin: 2.4rem 2.4rem 2rem
  }
}

.m-cart-drawer__header.grid {
  width: auto
}

.m-cart-drawer__heading,
.m-cart-drawer__total-label {
  margin-bottom: 0
}

.m-cart-drawer__close {
  padding: 0
}

.m-cart-drawer__close .icon {
  display: block
}

.m-cart-drawer__empty,
.m-cart-drawer__items {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: auto
}

.m-cart-drawer .cart-drawer__form,
.m-cart-drawer__upsell {
  padding-left: 2rem;
  padding-right: 2rem
}

@media screen and (min-width:768px) {
  .m-cart-drawer .cart-drawer__form,
  .m-cart-drawer__upsell {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }
}

.m-cart-drawer__upsell {
  margin-top: auto;
  padding-bottom: 1.2rem
}

.m-cart-drawer__upsell.u-color--scheme-1 .m-cart-drawer__upsell-heading {
  border-top: 1px solid rgb(var(--color-border))
}

.m-cart-drawer__upsell-heading {
  padding-top: 1.6rem
}

.m-cart-drawer__upsell-items>.m-product-card:last-child>.m-product-card__url {
  margin-bottom: 0
}

.m-cart-drawer__footer>div:first-child {
  border-top: 1px solid rgb(var(--color-border))
}

.m-cart-drawer__accordion.m-accordion {
  margin-top: 0
}

.m-cart-drawer__tax-note {
  color: rgb(var(--color-secondary-text));
  margin-top: .6rem
}

.m-cart-drawer__totals {
  margin-bottom: 1.2rem;
  padding-top: .5rem
}

.m-cart-drawer__total {
  justify-content: space-between;
  margin-bottom: .5rem
}

.m-cart-drawer__actions {
  text-align: center
}

.m-cart-drawer__actions .a-btn {
  align-items: center;
  display: flex;
  gap: .8rem;
  justify-content: center;
  width: 100%
}

.m-cart-drawer__actions .a-btn .a-btn__icon {
  align-items: center;
  display: flex;
  line-height: 0
}

.m-cart-drawer__actions .a-btn .icon {
  display: block;
  flex: 0 0 auto;
  height: 1.6rem;
  margin: 0;
  width: 1.6rem
}

.m-cart-drawer__actions .a-link {
  margin: .6rem auto
}

.m-cart-drawer__error {
  color: rgb(var(--color-error))
}

.m-cart-drawer__footer {
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2rem
}

@media screen and (min-width:768px) {
  .m-cart-drawer__footer {
    padding-bottom: 1.6rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }
}

@media screen and (max-width:767px) {
  .m-cart-drawer__upsell {
    padding-bottom: 1rem
  }

  .m-cart-drawer__upsell-heading {
    padding-top: 1.2rem
  }

  .m-cart-drawer__accordion.m-accordion {
    margin-bottom: 0;
    margin-top: 0
  }

  .m-cart-drawer__accordion .m-accordion__header {
    padding: .6rem 0
  }

  .m-cart-drawer__tax-note {
    font-size: var(--body-fs-xs);
    line-height: 1.35;
    margin-top: .4rem
  }

  .m-cart-drawer__tax-note p {
    margin: 0
  }

  .m-cart-drawer__totals {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-bottom: 1rem;
    padding-top: .5rem
  }

  .m-cart-drawer__total,
  .m-cart-drawer__total-label,
  .m-cart-drawer__total-value {
    margin-bottom: 0
  }

  .m-cart-drawer__total-label,
  .m-cart-drawer__total-value {
    line-height: 1.3
  }

  .m-cart-drawer__actions .a-btn {
    font-size: 1.4rem;
    letter-spacing: .2rem;
    line-height: 1.3;
    padding: .9rem 1.6rem
  }

  .m-cart-drawer__actions .a-link {
    margin: .5rem auto 0
  }

  .m-cart-drawer__footer {
    padding-bottom: 1.2rem
  }
}

@media screen and (max-width:1099px) {
  .m-cart-drawer {
    z-index: 99997
  }
}