:root {
  --bs-secondary: #FF9800 !important; /* bright orange */
  --bs-secondary-rgb: 255, 152, 0 !important;
}

.btn-secondary,
.bg-secondary,
.border-secondary {
  color: #fff !important;
  background-color: var(--bs-secondary) !important;
  border-color: var(--bs-secondary) !important;
}

.text-secondary {
  color: var(--bs-secondary) !important;
}

body {
    background-color: #fff; /* very light blue */
    background-image: 
        radial-gradient(circle at 24px 24px, rgba(var(--bs-primary-rgb), .08) 2px, transparent 2.5px),
        radial-gradient(circle at 12px 12px, rgba(var(--bs-primary-rgb), .06) 1.5px, transparent 2px);
    background-size: 48px 48px, 48px 48px;
    background-attachment: fixed;
    color: var(--bs-body-color);
}

.bs-icon {
  --bs-icon-size: .75rem;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: var(--bs-icon-size);
  width: calc(var(--bs-icon-size) * 2);
  height: calc(var(--bs-icon-size) * 2);
  color: var(--bs-primary);
}

.bs-icon-xs {
  --bs-icon-size: 1rem;
  width: calc(var(--bs-icon-size) * 1.5);
  height: calc(var(--bs-icon-size) * 1.5);
}

.bs-icon-sm {
  --bs-icon-size: 1rem;
}

.bs-icon-md {
  --bs-icon-size: 1.5rem;
}

.bs-icon-lg {
  --bs-icon-size: 2rem;
}

.bs-icon-xl {
  --bs-icon-size: 2.5rem;
}

.bs-icon.bs-icon-primary {
  color: var(--bs-white);
  background: var(--bs-primary);
}

.bs-icon.bs-icon-primary-light {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .2);
}

.bs-icon.bs-icon-semi-white {
  color: var(--bs-primary);
  background: rgba(255, 255, 255, .5);
}

.bs-icon.bs-icon-rounded {
  border-radius: .5rem;
}

.bs-icon.bs-icon-circle {
  border-radius: 50%;
}

.circle-badge{
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--bs-info);
  display: flex;
  align-items: center;
  justify-content: center;
}

.circle-row {
  display: flex;
  justify-content: center; /* center horizontally */
  align-items: center;      /* align vertically */
  gap: 20px;                /* space between circles */
  flex-wrap: wrap;          /* wraps on small screens */
}

/* Navbar theme overrides */
.navbar {
  --bs-navbar-color: #1b1b1b;
  --bs-navbar-hover-color: var(--bs-primary);
  --bs-navbar-active-color: var(--bs-primary);
  --bs-navbar-brand-color: #1b1b1b;
  --bs-navbar-brand-hover-color: var(--bs-primary);
}