/* Alerts (Bootstrap) */
.alert {
  font-size: var(--font-size-body);
  font-family: var(--font-family);
  font-weight: var(--font-weight-regular);
  border-radius: var(--border-radius);
  border: none;
}

/* Primary / Info */
.alert.alert-primary {
  --bs-alert-color: var(--color-secondary);
  --bs-alert-bg: var(--color-border-light);
}

/* Error */
.alert.alert-danger {
  --bs-alert-color: var(--color-danger-text, #842029);
  --bs-alert-bg: var(--color-danger-bg, #f8d7da);
}

/* Success */
.alert.alert-success {
  --bs-alert-color: var(--color-success-text, var(--color-secondary));
  --bs-alert-bg: var(--color-success-bg, var(--color-success));
}

/* Heading + icon treatment */
.alert .alert-heading {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm, 8px);
  font-family: var(--font-family);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-xs, 4px);
  font-size: calc(var(--font-size-body) * 1.15);
}

.alert .alert-heading i.bi {
  font-size: 0.9rem;
  line-height: 1;
  padding-top: 3px;
}

/* Paragraph spacing like the banners */
.alert p {
  margin: 0 0 var(--spacing-xs, 4px) 0;
}

.alert p:last-child {
  margin-bottom: 0;
}

/* Validation summary styled like alerts */
.validation-summary.alert {
  font-size: var(--font-size-body);
  font-family: var(--font-family);
  font-weight: var(--font-weight-regular);
  border-radius: var(--border-radius);
  border: none;
}

/* Map the validation header to alert heading styling */
.validation-summary.alert .validation-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm, 8px);
  font-family: var(--font-family);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-xs, 4px);
  font-size: calc(var(--font-size-body) * 1.15);
}

/* Icon sizing consistent with alerts heading */
.validation-summary.alert .validation-header .fa {
  font-size: 0.9rem;
  line-height: 1;
  padding-top: 3px;
}

/* List spacing inside validation summary */
.validation-summary.alert ul {
  margin: 0;
  padding-left: 1.25rem;
}

.validation-summary.alert ul li {
  margin-bottom: var(--spacing-xs, 4px);
}

.validation-summary.alert ul li:last-child {
  margin-bottom: 0;
}

/* Links inherit alert text color and use underline */
.validation-summary.alert a {
  color: inherit;
  text-decoration: underline;
}

/* Toasts (Bootstrap) mapped to alert palette */

.aut-toasts-stack {
    display: flex;
    flex-direction: column-reverse;
    gap: var(--spacing-md);
}

.toast.text-bg-primary {
  background-color: var(--color-border-light) !important;
  color: var(--color-secondary) !important;
}

.toast.text-bg-success {
  background-color: var(--color-success-bg, var(--color-success)) !important;
  color: var(--color-success-text, var(--color-secondary)) !important;
}

.toast.text-bg-danger {
  background-color: var(--color-danger-bg, #f8d7da) !important;
  color: var(--color-danger-text, #842029) !important;
}

/* Ensure toast body inherits text color */
.toast.text-bg-primary .toast-body,
.toast.text-bg-success .toast-body,
.toast.text-bg-danger .toast-body {
  color: inherit;
}

/* Prefer default close icon color on light backgrounds */
.toast.text-bg-primary .btn-close-white,
.toast.text-bg-success .btn-close-white,
.toast.text-bg-danger .btn-close-white {
  filter: none !important;
}
