/* T21: size the basket from the viewport, not estimated footer heights. */
body .side-cart {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}
body.admin-bar .side-cart {
  top: 32px;
  height: calc(100vh - 32px);
  height: calc(100dvh - 32px);
}
body .side-cart .side-cart__container {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
body .side-cart .side-cart__iconic {
  flex: 0 0 auto;
}
body .side-cart .side-cart__form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}
body .side-cart .side-cart__items {
  flex: 1 1 auto;
  min-height: 0;
  height: auto !important; /* Override the plugin's mobile fixed-height rule. */
  overflow: auto;
  -ms-overflow-style: auto;
  overscroll-behavior: contain;
}
body .side-cart .side-cart__items::-webkit-scrollbar {
  width: 10px !important;
}
body .side-cart .side-cart__footer {
  flex: 0 0 auto;
  max-height: 60%;
  overflow: auto;
  overscroll-behavior: contain;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 782px) {
  body.admin-bar .side-cart {
    top: 46px;
    height: calc(100vh - 46px);
    height: calc(100dvh - 46px);
  }
}
/* The legacy AJAX fragment can place a basket inside the outer basket.
   Apply the toolbar offset once, at the outer viewport boundary. */
body .side-cart .side-cart {
  top: 0;
  height: 100%;
}
