/* IMPALA brand colours */
:root {
  --impala-orange:      #fd9801;   /* matches logo background exactly */
  --impala-orange-dark: #e08800;   /* hover/active state on orange backgrounds */
  --impala-orange-text: #905500;   /* WCAG AA-compliant on white (4.54:1) */
}

/* Navbar */
.bg-impala {
  background-color: var(--impala-orange) !important;
}

/* Primary button — orange background, white text */
.btn-primary {
  background-color: var(--impala-orange);
  border-color: var(--impala-orange);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--impala-orange-dark);
  border-color: var(--impala-orange-dark);
  color: #fff;
}

/* Outline primary — accessible text colour on white */
.btn-outline-primary {
  color: var(--impala-orange-text);
  border-color: var(--impala-orange);
}
.btn-outline-primary:hover {
  background-color: var(--impala-orange);
  border-color: var(--impala-orange);
  color: #fff;
}

/* Links on white background — use accessible dark orange */
a {
  color: var(--impala-orange-text);
}
a:hover {
  color: var(--impala-orange-dark);
}

/* Score badges */
.badge-red    { background-color: #dc3545; color: #fff; padding: .35em .65em; border-radius: .375rem; font-size: .75em; font-weight: 700; }
.badge-amber  { background-color: #fd7e14; color: #fff; padding: .35em .65em; border-radius: .375rem; font-size: .75em; font-weight: 700; }
.badge-green  { background-color: #198754; color: #fff; padding: .35em .65em; border-radius: .375rem; font-size: .75em; font-weight: 700; }

/* Survey progress bar */
.bg-impala-progress { background-color: var(--impala-orange) !important; }

/* Impala colour for icons on white/light backgrounds — use accessible shade */
.text-impala { color: var(--impala-orange-text) !important; }

/* Results page donut legend swatch */
.badge-legend {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Auth card */
.auth-card {
  max-width: 460px;
  margin: 3rem auto;
}

/* Footer */
.footer {
  font-size: 0.85rem;
}

/* ------------------------------------------------------------------ */
/* Print styles                                                        */
/* ------------------------------------------------------------------ */
@media print {
  /* Hide chrome */
  .navbar,
  .footer,
  .no-print {
    display: none !important;
  }

  /* Full-width content, no margin top */
  main.container {
    margin-top: 0 !important;
    max-width: 100% !important;
  }

  /* Clean card borders */
  .card {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  /* Preserve badge and chart colours when printing */
  .badge-red,
  .badge-amber,
  .badge-green,
  .badge-legend,
  canvas {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Prevent page breaks mid-section */
  .list-group-item {
    break-inside: avoid;
  }
}
