$nag-z-index: 9999;
$nag-helpful-z-index: 10000;
$nag-error-z-index: 100001;

.nag {
  z-index: $nag-z-index;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: var(--spacing-small);
  background-color: var(--color-nag);
  color: var(--color-white);
  font-weight: var(--font-weight-bold);
  text-align: center;

  .button--link {
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    text-decoration: underline;
  }

  @media (max-width: $breakpoint-small) {
    text-align: left;
  }
}

.nag--inline {
  position: absolute;
  top: 0;
  bottom: auto;
  z-index: 1 !important; /* booooooo */
}

.nag--relative {
  position: relative;
}

.nag--helpful {
  background-color: var(--color-secondary);
  color: var(--color-white);
  z-index: $nag-helpful-z-index;
}

.nag--error {
  background-color: var(--color-error);
  color: var(--color-text-error);
  z-index: $nag-error-z-index;
}

.nag__message {
  display: inline;

  @media (max-width: $breakpoint-small) {
    &::after {
      content: '';
      display: block;
    }
  }
}

.nag__button {
  line-height: 1;
  margin-left: var(--spacing-small);
  margin-right: var(--spacing-small);
  border-radius: var(--border-radius);
  border: 1px solid var(--color-white);
  padding: var(--spacing-miniscule);
  color: var(--color-white);
  font-weight: var(--font-weight-bold);

  &:hover {
    background-color: var(--color-white);
    color: var(--color-nag);
  }

  @media (max-width: $breakpoint-small) {
    margin-left: 0;
    margin-top: var(--spacing-small);
  }
}

.nag__button--helpful {
  &:hover {
    background-color: var(--color-secondary-alt);
    color: var(--color-secondary);
  }
}

.nag__button--error {
  color: var(--color-text-error);
  border-color: var(--color-text-error);

  &:hover {
    background-color: var(--color-text-error);
    color: var(--color-white);
  }
}

.nag__close {
  margin-left: auto;
  right: var(--spacing-medium);
  position: absolute;
  border: none;

  svg {
    stroke-width: 4px;
  }
}