.coupon-teaser {
  position: fixed;
  transform: none;
  z-index: 9;
  padding-right: 20px;
  width: 300px;
  background: var(--color-light-blue);
  transition: transform 0.5s ease-in, box-shadow 0.5s;
  box-shadow: none;
  box-sizing: border-box;
}
@media (min-width: 651px) {
  .coupon-teaser {
    top: 200px;
    right: -300px;
  }
}
@media screen and (max-width: 650px) {
  .coupon-teaser {
    bottom: -153px;
  }
}
:checked + .coupon-teaser {
  z-index: 10;
  transition: transform 0.5s ease-out, box-shadow 0.5s;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}
@media (min-width: 651px) {
  :checked + .coupon-teaser {
    transform: translateX(-300px);
  }
}
@media (min-width: 651px) {
  .coupon-teaser--bottom {
    top: 360px;
  }
}
@media screen and (max-width: 650px) {
  .coupon-teaser--bottom {
    right: 0;
    bottom: -153px;
  }
}

.coupon-teaser__content {
  display: flex;
  max-height: 70vh;
  overflow: auto;
  font-size: 18px;
  color: white;
  font-family: var(--font-body);
}

.coupon-teaser__content .idle {
  padding: 20px;
  width: 100%;
  max-width: 80px;
}

.coupon-teaser__content img {
  width: 100%;
}

.coupon-teaser__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.coupon-teaser__mobile-link {
  position: absolute;
  height: 45px;
  width: 50vw;
  bottom: 100%;
  left: 0;
  z-index: 1;
}
@media (min-width: 651px) {
  .coupon-teaser__mobile-link {
    display: none;
  }
}

.coupon-teaser--bottom .coupon-teaser__mobile-link {
  right: 0;
  left: unset;
}

.coupon-teaser__subline {
  font-size: 15px;
  line-height: 22px;
  font-family: var(--font-body);
  color: var(--color-forest);
}

.coupon-teaser__subline p {
  margin: 10px 0;
}

.coupon-teaser__link a {
  font-size: 15px;
  font-weight: 500;
  font-family: var(--font-body);
  color: var(--color-orange);
}

.coupon-teaser__svg {
  position: absolute;
  left: 18px;
  transform: rotate(90deg);
}

.coupon-teaser__svg--voucher {
  height: 22px;
  bottom: 14px;
}

.coupon-teaser__svg--therme {
  width: 30px;
  height: 35px;
  bottom: 5px;
}

.coupon-teaser__title {
  position: absolute;
  line-height: 45px;
  font-size: 14px;
  padding: 0 1.5em 0 4.4em;
  bottom: 100%;
  transform-origin: right bottom 0;
  color: white;
  background: var(--color-dark-blue);
  font-weight: 500;
  font-family: var(--font-body);
  letter-spacing: 0.41px;
  cursor: pointer;
}
@media (min-width: 651px) {
  .coupon-teaser__title {
    right: 100%;
    transform: rotate(-90deg);
  }
}
@media screen and (max-width: 650px) {
  .coupon-teaser__title {
    width: 50vw;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 650px) {
  .coupon-teaser--bottom .coupon-teaser__title {
    right: 0;
  }
}
