.sidepanel-modal .modal-dialog {
  position: fixed;
  margin: 0;
  right: 0;
  top: 0;
  height: 100%;
  width: min(var(--sidepanel-width, 900px), 100vw);
  max-width: none !important;
  transform: translateX(100%);
}

.sidepanel-modal.show .modal-dialog {
  transform: translateX(0);
}

.sidepanel-modal .modal-content {
  height: 100vh;
  border-radius: 0;
  padding: 30px 30px;
  background-color: var(--sidepanel-bg, #ECF0F2);
}

.sidepanel-modal .modal-body {
  display: flex;
  flex-direction: column;
}

.modal-dialog-right {
  transition: transform 0.3s ease-out;
}

.sidepanel-header {
}

.sidepanel-body {
  margin-top:40px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.title-and-product-name {

}
.sidepanel-header .title-and-product-name .title {
  font-size: 24px;
  font-weight: 400;
  color:#222943;
}
.sidepanel-header .title-and-product-name .product-name {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #E91E63;
}
.sidepanel-header .btn-close, .sidepanel-header .btn-close:focus {
  transition: all 0.5s ease;
  background-color: transparent;
  border: none;
}
.sidepanel-header .btn-close:hover {
  opacity: 0.7;
  transition: all 0.5s ease;
}
.sidepanel-header .mobile-close {
  display: none;
}
@media (max-width: 767px) {
  .sidepanel-header .btn-close {
    position: absolute;
    top: -20px;
    right: 0px;
  }
  .sidepanel-header {
    margin-top: 30px;
    padding: 0px 25px;
  }
  .sidepanel-header .desktop-close {
    display: none;
  }
  .sidepanel-header .mobile-close {
    display: block;
  }
  .sidepanel-header .title-and-product-name .title {
    font-size: 20px;
  }
  .sidepanel-body {
    margin-top: 30px;
  }
  .sidepanel-modal .modal-content {
    padding: 30px 0px;
    height: 100%;
  }
  .sidepanel-modal .modal-dialog.modal-dialog-right {
    overflow-y: scroll;
    width: 100%;
  }
}
