.title {
  font-weight: 700;
  font-size: 18px;
  line-height: 135%;
}

.subtitle {
  font-size: 14px;
  line-height: 135%;
  margin-top: 6px;
  margin-bottom: 36px;
  font-weight: 400;
  color: var(--primary-100);
}

.package {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 15px;
  box-shadow: 2px 4px 12px rgba(218, 218, 218, 0.3);
  background-color: var(--white-with-opacity-25);
  border: 1px solid var(--primary-600);
  padding: 24px 16px 20px;
  color: var(--typography-100);
  transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  max-width: 300px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;

  &::before {
    content: "";
    position: absolute;
    border: 4px solid var(--tertiary);
    border-radius: 15px;
    left: -2px;
    top: -2px;
    bottom: -2px;
    right: -2px;
    transition: border-color 0.2s ease-in-out;
  }

  & > .discount {
    position: absolute;
    top: -16px;
    height: 32px;
    left: 50%;
    transform: translate(-50%);
    min-width: 97px;
    border-radius: 30px;
    padding: 6px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    line-height: 135%;
    white-space: nowrap;
    text-transform: uppercase;
    background-color: var(--tertiary);
    color: var(--typography-100);
  }

  & > .description-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin-right: 8px;

    & > .description {
      width: 100%;
      max-width: 130px;
      margin-right: 8px;

      & > .package-name {
        text-transform: lowercase;
        font-size: 18px;
        font-weight: 700;
        line-height: 135%;
        margin-bottom: 8px;
      }

      & > .credits-amount {
        font-size: 16px;
        font-weight: 600;
        line-height: 135%;
      }
    }
  }

  & > .price-wrapper {
    display: flex;
    align-items: flex-end;
    max-width: 120px;
    width: 100%;
    flex-basis: 0;
    margin-top: auto;

    & > .price-old {
      text-decoration: line-through;
      color: var(--typography-300);
      font-family: Montserrat, sans-serif;
      font-size: 14px;
      line-height: 20px;
      margin-right: 8px;
    }

    & > .price {
      font-size: 18px;
      font-weight: 600;
      line-height: 135%;
    }
  }
}

.button-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 2;
  margin-top: auto;

  & > .button {
    margin-top: 0;

    & > button {
      box-shadow: var(--primary-box-shadow);
      width: 295px;
      font-weight: 600;
      font-size: 14px;
      line-height: 120%;
    }
  }
}

.error {
  font-size: 14px;
  color: var(--error);
  margin-top: 4px;
}
