.alert {
  position: relative;
  width: 100%;
  border-radius: var(--ac-radius-lg);
  border: 1px solid var(--ac-border);
  padding: var(--ac-space-4);
  font-size: var(--ac-text-sm);

  & svg {
    position: absolute;
    top: var(--ac-space-4);
    left: var(--ac-space-4);
    width: 1rem;
    height: 1rem;
    color: var(--ac-foreground);
  }

  /* When icon is present, add left padding */
  &:has(svg) {
    padding-left: calc(var(--ac-space-4) + 1rem + var(--ac-space-3));
  }
}

.default {
  background-color: var(--ac-background);
  color: var(--ac-foreground);

  & .description {
    color: var(--ac-muted-foreground);
  }
}

.destructive {
  border-color: color-mix(in oklch, var(--ac-destructive), transparent 50%);
  color: var(--ac-destructive);

  & svg {
    color: var(--ac-destructive);
  }

  & .description {
    color: color-mix(in oklch, var(--ac-destructive), transparent 20%);
  }
}

.title {
  margin-bottom: var(--ac-space-1);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.description {
  font-size: var(--ac-text-sm);
  line-height: 1.5;
  color: var(--ac-muted-foreground);
}
