.navds-alert {
  border-radius: var(--ax-border-radius-xlarge);
  border: 1px solid;
  padding: var(--ax-spacing-4) var(--ax-spacing-5);
  display: flex;
  gap: var(--ax-spacing-3);
  align-items: center;

  @media (forced-colors: active) {
    border: 1px solid canvastext;
    background-color: canvas;
    color: canvastext;
  }
}

.navds-alert__wrapper--maxwidth {
  max-width: 43.5rem;
}

.navds-alert__icon {
  flex-shrink: 0;
  font-size: 1.5rem;
  align-self: flex-start;
  height: var(--ax-font-line-height-xlarge);
}

.navds-alert--small {
  padding: var(--ax-spacing-3) var(--ax-spacing-4);
  gap: var(--ax-spacing-2);

  > .navds-alert__icon {
    margin-block-start: 0;
    height: var(--ax-font-line-height-large);
  }
}

/* ----------------------------- Alert variants ----------------------------- */
.navds-alert--info {
  border-color: var(--ax-border-info);
  background-color: var(--ax-bg-info-moderate);

  > .navds-alert__icon {
    color: var(--ax-text-info-icon);
  }
}

.navds-alert--success {
  border-color: var(--ax-border-success);
  background-color: var(--ax-bg-success-moderate);

  > .navds-alert__icon {
    color: var(--ax-text-success-icon);
  }
}

.navds-alert--warning {
  border-color: var(--ax-border-warning);
  background-color: var(--ax-bg-warning-moderate);

  > .navds-alert__icon {
    color: var(--ax-text-warning-icon);
  }
}

.navds-alert--error {
  border-color: var(--ax-border-danger);
  background-color: var(--ax-bg-danger-moderate);

  > .navds-alert__icon {
    color: var(--ax-text-danger-icon);
  }
}

/* ----------------------------- Alert fullwidth ---------------------------- */
.navds-alert--full-width {
  border-radius: 0;
}

/* ------------------------------ Alert inline ------------------------------ */
.navds-alert--inline {
  background-color: transparent;
  border: none;
  padding: 0;
}

/* ------------------------- Alert with close button ------------------------ */
.navds-alert__button-wrapper {
  align-self: flex-start;
  flex: 1;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
}

.navds-alert--close-button {
  > .navds-alert__wrapper {
    margin-block-start: var(--ax-spacing-05);
  }

  > .navds-alert__icon {
    margin-block-start: var(--ax-spacing-05);
  }

  &.navds-alert--small {
    align-items: flex-start;

    > .navds-alert__wrapper {
      margin-block-start: var(--ax-spacing-1);
    }

    > .navds-alert__icon {
      margin-block-start: var(--ax-spacing-1);
    }
  }
}
