.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' width='30' height='30' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3e%3cpath d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Fallback: correct any inline SVGs that use rem units from Bootstrap or Django admin */
svg[width="1rem"], svg[height="1rem"] {
  width: 16px !important;
  height: 16px !important;
}

/* ----------------------------------------------------
   Flash alert banner styling (top-centre notifications)
   ---------------------------------------------------- */
.flash-alert {
  padding: 1rem 1.75rem;
  border-radius: 0.65rem;
  font-size: 0.95rem;
  font-weight: 500;
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.15);
  opacity: 0.95;
}

/* Solid colours for various alert types */
.flash-alert.alert-success {
  background-color: #d8f4ec; /* soft mint */
  color: #0b4b38;
}
.flash-alert.alert-danger,
.flash-alert.alert-error {
  background-color: #f8d7da; /* pastel red */
  color: #58151c;
}
.flash-alert.alert-warning {
  background-color: #ffe8cc; /* soft orange */
  color: #7c4b00;
}
.flash-alert.alert-info {
  background-color: #cff4fc; /* light cyan */
  color: #055160;
}

/* ----------------------------------------------------
   Campaign Rich Text Styling
   ---------------------------------------------------- */
.campaign-content p {
  margin: 0; /* Remove default top/bottom paragraph spacing */
}

.campaign-content p + p {
  margin-top: 0.25rem; /* Slight spacing between consecutive lines for readability */
} 