.alert {
  padding: 0.875rem 1rem;
  border-radius: var(--border-radius);
  font-size: 0.875rem;
}

.alert + .alert {
  margin-top: 0.5rem;
}

.alert__title {
  font-weight: 600;
  margin: 0 0 0.25rem;
}

.alert__text {
  margin: 0;
  color: var(--color-text-muted);
}

/* Toast */
.alert--toast {
  background: var(--color-background);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-md);
  max-width: 350px;
}

.alert--toast.alert--success {
  color: var(--color-success);
}

.alert--toast.alert--warning {
  color: var(--color-warning);
}

.alert--toast.alert--danger {
  color: var(--color-danger);
}

/* Banner */
.alert--banner.alert--success {
  background: #d1fae5;
  color: #065f46;
}

.alert--banner.alert--warning {
  background: #fef3c7;
  color: #92400e;
}

.alert--banner.alert--danger {
  background: #fee2e2;
  color: #991b1b;
}

.alert--banner .alert__text {
  color: inherit;
  opacity: 0.85;
}

/* Announcement strip — full-width bar, title + text inline */
.alert--announcement {
  border-radius: 0;
}

.alert--announcement .alert__body {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  flex-wrap: wrap;
}

.alert--announcement .alert__title {
  margin: 0;
}
