.cartDrawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 999; }

div#___ratingbadge_0 {
  display: none !important; }

.product-grid-item .button.quick-action-button:hover {
  background-color: #fff !important;
  color: #6baabb !important; }

.smt-wrapper.sm-fixed.bottom.sm-teaser-open.sm-if-account {
  display: none; }

.bottom-right.sm-fixed.hover-opacity.sm-button.scale-in.sm-button-circle {
  display: none !important; }

.product-grid-item .button.quick-action-button {
  color: #fff !important; }

.alert.alert-success, .alert.success {
  display: none !important; }

.cartDrawer--open .cartDrawer__backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto; }

.cartDrawer__actions.loading {
  pointer-events: none;
  opacity: .7; }

.cartDrawer__backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
  pointer-events: none; }

/* make content a flex column so header/footer are fixed and items scroll */
.cartDrawer__content {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 450px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  transform: translateX(100%);
  transition: transform .3s ease;
  pointer-events: auto;
  border-left: 1px solid #F0F0F0; }

.cartDrawer_buttons {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.cartDrawer--open .cartDrawer__content {
  transform: translateX(0); }

.cartDrawerHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 15px 10px;
  flex: 0 0 auto; }

.cartDrawerTitle {
  font-size: 18px;
  line-height: 20px;
  text-transform: uppercase;
  color: #000;
  font-weight: 600; }

.cartDrawer__close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  height: 34px;
  width: 34px;
  transition: transform .3s; }

.cartDrawer__close .icon {
  display: block;
  fill: currentColor;
  transition: transform .3s;
  pointer-events: none; }

.cartDrawer__close:hover .icon {
  transform: rotate(90deg); }

.cartDrawer_coupon {
  padding: 14px 15px;
  background-color: #F7F9FA;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #212121;
  margin: 0;
  flex: 0 0 auto;
  text-align: center; }

.cart_items_heading {
  font-size: 14px;
  line-height: 18px;
  color: #212121;
  padding-left: 15px;
  margin: 15px 0 0;
  font-weight: 600;
  flex: 0 0 auto; }

/* scrollable items area */
.cartDrawer__items {
  flex: 1 1 auto;
  margin: 0 15px;
  overflow-y: auto;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE10+ */ }

.cartDrawer__items::-webkit-scrollbar {
  display: none;
  /* Chrome/Safari/WebKit */ }

.cartDrawer__item {
  display: flex;
  padding: 15px 0 30px;
  margin-bottom: 15px;
  border-bottom: 1px solid #C7C7C7;
  overflow: hidden;
  /* for collapse animation */
  transition: height   1500ms ease, margin   1500ms ease, padding  1500ms ease, opacity  1500ms ease; }

.cartDrawer__item.removing {
  height: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  opacity: 0 !important; }

.cartDrawer__item-image img {
  width: 90px;
  object-fit: cover; }

.cartDrawer_productdetails {
  width: calc(100% - 90px);
  padding-left: 30px; }

.cartDrawer__item-details {
  margin-left: 0; }

.cartDrawer__item-name {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  margin-bottom: 5px;
  line-height: 21px; }

.cartDrawer__item-unit-price {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 8px 0;
  line-height: 19px;
  display: block; }

.cartDrawer__item-controls {
  display: flex;
  align-items: center;
  border: 1px solid #000;
  padding: 7px 10px;
  width: max-content;
  margin: 0; }

.cartDrawer__qty-btn {
  width: 24px;
  height: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0; }

.cartDrawer__qty-btn svg {
  width: 14px;
  height: 14px;
  stroke: #000; }

.cartDrawer__qty-input {
  width: 25px;
  height: 24px;
  text-align: center;
  border: none;
  font-size: 13px;
  color: #000;
  font-weight: 600;
  line-height: 1;
  padding: 0;
  margin: 0 8px; }

.cartDrawer__remove {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 19px;
  color: #000;
  text-decoration: underline; }

.cartDrawer_subtotalwrap {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  padding: 15px;
  background-color: #fff;
  box-shadow: 0 2px 6px black;
  position: relative; }

.cartDrawer__subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
  padding-right: 15px; }

.subtotal-heading {
  font-size: 14px;
  font-weight: 400;
  color: #212121; }

.js-cartDrawerSubtotal {
  font-size: 18px;
  line-height: 24px;
  color: #212121;
  font-weight: 600; }

/* loading bar inside subtotal */
.cartDrawer__actions {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  position: relative;
  overflow: hidden; }

.cartDrawer__actions .button.button--secondary {
  color: #fff !important;
  border-color: #6baabb !important; }

.cartDrawer__actions .button.button--secondary:hover {
  color: #6baabb !important; }

.cartDrawer__actions .button {
  text-align: center;
  margin: 0;
  background-color: transparent;
  border-radius: 24px;
  border: 1px solid #212121;
  font-size: 16px;
  line-height: 22px;
  text-transform: capitalize;
  color: #212121 !important;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
  padding: 10px 18px !important;
  transition: color .25s ease-out, background .25s ease-out, border .25s ease-out;
  backface-visibility: hidden; }

.button--secondary {
  background-color: #6baabb !important;
  color: #fff !important;
  border: 1px solid #6baabb; }

.button--secondary:hover {
  background-color: #fff !important;
  color: #6baabb !important;
  border: 1px solid #6baabb; }

.cartDrawer_subtotalwrap .js-cartDrawerSubtotal.loading {
  font-size: 0;
  width: 80px;
  position: relative; }

.cartDrawer_subtotalwrap .js-cartDrawerSubtotal.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 0;
  height: 4px;
  background-color: #6baabb;
  animation: loadRightToLeft 0.5s forwards; }

@keyframes loadRightToLeft {
  from {
    width: 0; }
  to {
    width: 100%; } }

/* hide scrollbars */
.cartDrawer__items::-webkit-scrollbar,
.cartDrawer__content::-webkit-scrollbar {
  display: none; }

.cartDrawer__items {
  scrollbar-width: none;
  -ms-overflow-style: none; }

/* Spinner & checkmark icon rules */
.quick-action-button {
  position: relative; }

.quick-action-button .button-text {
  transition: visibility 0s linear 0.2s; }

.quick-action-button .spinner-icon,
.quick-action-button .check-icon {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 24px;
  height: 24px;
  display: none;
  z-index: 10; }

.quick-action-button.is-loading .button-text {
  visibility: hidden;
  transition-delay: 0s; }

.quick-action-button.is-loading .spinner-icon {
  display: inline-block;
  /* animation of the <circle> is defined below */ }

.quick-action-button.is-loading .spinner-icon circle {
  transform-origin: 50% 50%;
  animation: circle-rotate 2s linear infinite; }

.quick-action-button.is-success .check-icon {
  display: inline-block; }

.quick-action-button.is-success .button-text {
  visibility: hidden;
  transition-delay: 0s; }

@keyframes circle-rotate {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

.quick-action-button:hover polygon,
.quick-action-button:hover circle {
  stroke: #6baabb !important; }

.quick-action-button polygon,
.quick-action-button circle {
  stroke: #fff !important; }

@media screen and (max-width: 1023px) {
  header .logo-align-center .top-bar-right {
    display: block !important;
    position: absolute;
    right: 0; }
  header .top-bar .search-wrap {
    display: none !important; }
  header .logo-align-left .top-bar-right {
    display: block !important; }
  header .top-bar-right .customer-utils {
    display: block; }
  header .top-bar-right .customer-links,
  header .top-bar-right .currency-selector,
  header .top-bar-right .header-announcement {
    display: none; } }
