.wrapper {
  cursor: var(--custom-cursor, pointer);

  position: relative;

  display: block;

  margin-bottom: 1.5rem;
  padding-inline: 4.5rem 1rem;
  border-radius: var(--border-radius-default);

  line-height: 1.5rem;

  background: var(--color-background);
  box-shadow: 0 0 0 0.0625rem var(--color-borders-input);
}

.giveawayWrapper {
  cursor: var(--custom-cursor, pointer);

  position: relative;

  display: block;

  padding-inline: 3.5rem 1rem;

  line-height: 1.5rem;
}

.active {
  box-shadow: 0 0 0 0.125rem var(--color-primary);
}

.input {
  position: absolute;
  z-index: var(--z-below);
  opacity: 0;

  &:checked ~ .content {
    &::before {
      border-color: var(--color-primary);
    }

    &::after {
      opacity: 1;
    }
  }
}

.content {
  display: grid;
  grid-template-areas: "left_top right" "left_bottom right";
  grid-template-columns: 1fr auto;
  gap: 0.25rem;
  justify-content: start;

  padding: 0.5rem 0;

  &::before,
  &::after {
    content: "";

    position: absolute;
    top: 50%;
    inset-inline-start: 1rem;
    transform: translateY(-50%);

    display: block;

    width: 1.25rem;
    height: 1.25rem;
  }

  &::before {
    border: 2px solid var(--color-borders-input);
    border-radius: 50%;

    opacity: 1;
    background-color: var(--color-background);

    transition: border-color 0.1s ease, opacity 0.1s ease;
  }

  &::after {
    inset-inline-start: 1.3125rem;

    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;

    opacity: 0;
    background: var(--color-primary);

    transition: opacity 0.1s ease;
  }
}

.month {
  grid-area: left_top;
  white-space: nowrap;
}

.perMonth {
  display: flex;
  grid-area: left_bottom;
  flex-direction: row-reverse;
  align-self: end;

  margin-inline-end: auto;

  font-size: 0.875rem;
  color: var(--color-text-secondary);

  @media (max-width: 450px) {
    flex-direction: column-reverse;
  }
}

.amount {
  grid-area: right;
  align-self: center;
  justify-self: end;

  padding-inline-start: 1.5rem;

  color: var(--color-text-secondary);
}

.discount {
  unicode-bidi: plaintext;
  align-self: baseline;

  margin-inline-end: 0.5rem;
  padding: 0 0.5rem;
  border-radius: var(--border-radius-default-small);

  color: var(--color-white);

  background: var(--color-primary);
}

.giveawayDiscount {
  padding: 0.1875rem;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  font-weight: var(--font-weight-medium);
}
