mealz-drawer.hidden {
  display: none;
}

.mealz-no-scroll {
  overflow: hidden;
}

@keyframes slide-in {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes show {
  from {
    opacity: 0;
  }

  to {
    opacity: 0.6;
  }
}

.mealz-shadow-overlay {
  position: fixed;
  background: var(--mealz-ds-color-neutral-black, #0F191F);
  animation: show 0.3s ease-in-out forwards;
  opacity: 0.6;
  z-index: var(--m-z-index-modal-overlay, 5999);
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  -webkit-tap-highlight-color: transparent;
}

.mealz-drawer {
  z-index: var(--m-z-index-modal, 6000);
  position: fixed;
  overflow: hidden;
  background-color: var(--mealz-ds-color-background-primary, #FFFFFF);
  display: flex;
  flex-direction: column;
  animation: slide-in 0.3s ease-out forwards;
  height: 100%;
  top: 0;
  right: 0;
  width: 100%;


  @media (min-width: 1024px) {
      width: 650px;
  }

  @media (min-width: 450px) and (max-width: 1023px) {
    width: 450px; 
  }

  &.without-header {
    .mealz-drawer__header {
      display: none;
    }
  }

  .mealz-drawer__header {
    .mealz-drawer__header-container {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      padding: 16px;
      align-items: center;
      border-bottom: 1px solid var(--mealz-ds-color-neutral-200, #EFF1F3);

      .mealz-drawer__title {
        font-weight: 900;
        overflow: hidden;
        text-overflow: ellipsis;
        align-self: center;
      }
    }
  }

  .mealz-drawer__content-container {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-color: var(--mealz-ds-color-primary-100), var(--mealz-ds-color-primary);
    box-sizing: border-box;
  }
}
