.discount-banner-container {
  position: fixed;
  top: 78px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  background: rgba(29, 29, 31, 0.50);
  box-shadow: 70px 0 150px 0 rgba(0, 0, 0, 0.05) inset, 70px 0 150px 0 rgba(0, 0, 0, 0.05) inset;
  padding: 48px 90px;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none; 
}

.discount-banner {
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(50px);
}

.discount-banner-img {
  position: relative;
  max-width: 562px;
  max-height: 150px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  overflow: hidden;
}

.discount-banner-img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.discount-banner-img > svg {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
}

.discount-banner-content {
  max-width: 562px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  background-color: #ffffff;
  padding: 32px 80px;
  box-sizing: border-box;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.discount-banner-content .button {
  min-width: 172px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
}

.discount-banner-container-open {
  animation: fade-in-banner-block .3s ease-in forwards;
}

.discount-banner-upped {
  animation: banner-up .4s ease-in forwards;
  animation-delay: .3s;
}

@keyframes fade-in-banner-block {
  0% {
    opacity: 0;
    pointer-events: none;
  }

  100% {
    opacity: 1;
    pointer-events: all;
  }
}

@keyframes banner-up {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}

@media screen and (max-width: 580px) {
  .discount-banner-content {
    padding: 32px;
  }

  .discount-banner-img, 
  .discount-banner-content {
    max-width: 100%;
    width: 100%;
  }

  .discount-banner-container {
    padding: 48px 16px;
  }
}