.modal.fade .modal-dialog__offcanvas {
  width: 350px;
  height: 100%;
  margin: 0;
  max-width: 90%;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  transition: transform .3s ease-out; }
  .modal.fade .modal-dialog__offcanvas.modal-dialog__offcanvas--right {
    right: 0;
    transform: translateX(100%); }

.modal.in .modal-dialog__offcanvas,
.modal.show .modal-dialog__offcanvas {
  transform: translateX(0); }
  .modal.in .modal-dialog__offcanvas.modal-dialog__offcanvas--right,
  .modal.show .modal-dialog__offcanvas.modal-dialog__offcanvas--right {
    transform: translateX(0); }

.modal-dialog__offcanvas .modal-content {
  height: inherit;
  border-width: 0;
  border-radius: 0; }
.modal-dialog__offcanvas .modal-header {
  border-radius: inherit; }
.modal-dialog__offcanvas .modal-body {
  overflow-y: auto;
  height: inherit; }

#modal-cart-preview {
  cursor: pointer; }
  #modal-cart-preview .modal-dialog {
    width: 320px;
    max-width: 100%;
    cursor: initial; }
  #modal-cart-preview .modal-header {
    color: #000;
    border-bottom: 0; }
    #modal-cart-preview .modal-header #modal-cart-preview-label {
      width: 100%;
      margin: 0; }
    #modal-cart-preview .modal-header .close {
      position: absolute;
      right: 16px; }
  #modal-cart-preview .modal-content {
    display: flex;
    flex-flow: column wrap;
    width: 100%;
    height: 100%;
    background-color: #f1f1f1; }
  #modal-cart-preview .modal-body,
  #modal-cart-preview .modal-footer {
    margin: 0 5px;
    background-color: #fff; }
  #modal-cart-preview .modal-body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 5px; }
    #modal-cart-preview .modal-body.cart-empty {
      display: flex;
      align-items: center;
      justify-content: center;
      color: gray; }
  #modal-cart-preview #cart-product-list .cart-product-line {
    margin-right: -5px;
    margin-left: -5px;
    padding: 0; }
    #modal-cart-preview #cart-product-list .cart-product-line:not(:last-child):after {
      content: "";
      width: 90%;
      height: 1px;
      background: #f1f1f1;
      margin: 15px 5% 20px 5%; }
    #modal-cart-preview #cart-product-list .cart-product-line[class*=col-xs] {
      padding-left: 5px;
      padding-right: 5px; }
    #modal-cart-preview #cart-product-list .cart-product-line .product-name {
      font-size: 1rem;
      margin: 0; }
    #modal-cart-preview #cart-product-list .cart-product-line .product-image {
      position: relative; }
      #modal-cart-preview #cart-product-list .cart-product-line .product-image .product-thumbnail {
        border: 1px solid rgba(0, 0, 0, 0.1);
        max-width: 100%; }
      #modal-cart-preview #cart-product-list .cart-product-line .product-image .product-qty {
        position: absolute;
        top: -11px;
        right: 4px;
        width: 25px;
        height: 25px;
        text-align: center;
        border-radius: 50%;
        font-weight: 600;
        color: #fff;
        line-height: 23px; }
    #modal-cart-preview #cart-product-list .cart-product-line .product-description {
      font-size: 14px;
      padding-left: 5px;
      padding-right: 25px; }
      #modal-cart-preview #cart-product-list .cart-product-line .product-description .product-qty-name .product-name a {
        color: #000; }
        #modal-cart-preview #cart-product-list .cart-product-line .product-description .product-qty-name .product-name a:hover {
          color: black; }
      #modal-cart-preview #cart-product-list .cart-product-line .product-description .product-qty-name .product-attributes {
        margin-bottom: 1em;
        color: #000;
        font-size: 14px; }
      #modal-cart-preview #cart-product-list .cart-product-line .product-description .remove-from-cart {
        position: absolute;
        right: 2px;
        top: -10px;
        color: #d8d8d8;
        line-height: 1;
        font-size: 26px; }
    #modal-cart-preview #cart-product-list .cart-product-line .product-price.has-discount .discount {
      background: gray;
      font-size: 13px;
      padding: 3px; }
    #modal-cart-preview #cart-product-list .cart-product-line .product-price .current-price,
    #modal-cart-preview #cart-product-list .cart-product-line .product-price .product-discount,
    #modal-cart-preview #cart-product-list .cart-product-line .product-price .product-price-ht {
      display: inline-block; }
    #modal-cart-preview #cart-product-list .cart-product-line .product-price .current-price .price {
      font-size: 18px;
      font-weight: 700;
      letter-spacing: -0.03em; }
    #modal-cart-preview #cart-product-list .cart-product-line .product-price .regular-price {
      margin-right: 0;
      margin-left: 5px; }
  #modal-cart-preview .modal-footer {
    margin: 0 5px 5px;
    padding: 0 10px;
    border-top: none; }
    #modal-cart-preview .modal-footer .container-cart-total {
      border-top: 1px solid rgba(0, 0, 0, 0.1);
      width: 100%; }
    #modal-cart-preview .modal-footer .checkout {
      position: initial;
      background: none;
      padding: 0; }
    #modal-cart-preview .modal-footer .additionnal-text {
      font-size: 10px;
      color: #212529;
      margin-bottom: 1em;
      line-height: 1.3em;
      padding: 0 10px; }
      #modal-cart-preview .modal-footer .additionnal-text img {
        width: 32px; }
  #modal-cart-preview .cart-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    height: 100%;
    top: 0;
    width: 100%;
    margin: 0 -5px;
    background: rgba(0, 0, 0, 0.3); }
  @media only screen and (min-width: 400px) {
    #modal-cart-preview .modal-dialog {
      width: 350px; }
    #modal-cart-preview .modal-content:before {
      content: "\D7";
      color: #fff;
      position: absolute;
      pointer-events: none;
      font-size: 48px;
      left: -45px;
      top: 15px; }
    #modal-cart-preview .modal-header .close {
      display: none; } }

.xyshoppingcart-left-column .lbl-cart, .xyshoppingcart-left-column .lbl-product-count {
  display: flex;
  align-items: center; }
.xyshoppingcart-left-column .lbl-cart {
  font-size: 30px;
  justify-content: flex-start; }
  .xyshoppingcart-left-column .lbl-cart i {
    margin-right: 15px;
    font-size: 25px; }
.xyshoppingcart-left-column .lbl-product-count {
  justify-content: flex-end; }
.xyshoppingcart-left-column .lbl-total-product {
  font-size: 10px;
  margin: 0; }
.xyshoppingcart-left-column .cart-summary-totals {
  padding-right: 0;
  line-height: 1.3; }
.xyshoppingcart-left-column .cart-detailed-actions a {
  font-weight: 700;
  align-items: center;
  display: flex;
  font-size: 14px; }
  .xyshoppingcart-left-column .cart-detailed-actions a i {
    font-size: 25px;
    margin-right: 5px; }

.cart-product-add-to-cart-qty .input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 125px;
  margin: 8px 0; }
.cart-product-add-to-cart-qty .input-group-append, .cart-product-add-to-cart-qty .input-group-prepend {
  display: flex; }
.cart-product-add-to-cart-qty .input-group-prepend {
  margin-right: -1px; }
  .cart-product-add-to-cart-qty .input-group-prepend .btn {
    position: relative;
    border-right-width: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px; }
.cart-product-add-to-cart-qty .input-group-append {
  margin-left: -1px; }
  .cart-product-add-to-cart-qty .input-group-append .btn {
    position: relative;
    border-left-width: 0;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px; }
.cart-product-add-to-cart-qty input[name="qty"] {
  position: relative;
  flex: 1 1 0%;
  min-width: 0;
  margin-bottom: 0;
  float: none;
  height: 26px;
  text-align: center;
  color: #000;
  padding-left: 0;
  padding-right: 0; }
.cart-product-add-to-cart-qty .btn {
  padding: 0px 7px;
  border: 1px solid #ced4da;
  z-index: 0;
  box-shadow: none;
  width: 25px; }
  .cart-product-add-to-cart-qty .btn:focus {
    border: 1px solid #ced4da;
    outline: none; }
